From a31aca0cda33fd99f2b4b35cd7c5ce3cbbe560cb Mon Sep 17 00:00:00 2001 From: vkill Date: Sat, 2 Jun 2018 23:10:20 +0800 Subject: [PATCH] Add some tests --- Package.swift | 4 ++- Tests/LinuxMain.swift | 9 +++++++ Tests/NIORedisTests/RESPValueTests.swift | 12 +++++++++ Tests/NIORedisTests/XCTestManifests.swift | 9 +++++++ Tests/RedisTests/RedisClientTests.swift | 32 +++++++++++++++++++++++ Tests/RedisTests/XCTestManifests.swift | 9 +++++++ 6 files changed, 74 insertions(+), 1 deletion(-) create mode 100644 Tests/LinuxMain.swift create mode 100644 Tests/NIORedisTests/RESPValueTests.swift create mode 100644 Tests/NIORedisTests/XCTestManifests.swift create mode 100644 Tests/RedisTests/RedisClientTests.swift create mode 100644 Tests/RedisTests/XCTestManifests.swift diff --git a/Package.swift b/Package.swift index f131f4c..b3b52a5 100644 --- a/Package.swift +++ b/Package.swift @@ -14,6 +14,8 @@ let package = Package( ], targets: [ .target(name: "NIORedis", dependencies: [ "NIO", "NIOFoundationCompat" ]), - .target(name: "Redis", dependencies: [ "NIORedis" ]) + .target(name: "Redis", dependencies: [ "NIORedis" ]), + .testTarget(name: "NIORedisTests", dependencies: [ "NIORedis"]), + .testTarget(name: "RedisTests", dependencies: [ "Redis"]), ] ) diff --git a/Tests/LinuxMain.swift b/Tests/LinuxMain.swift new file mode 100644 index 0000000..208a716 --- /dev/null +++ b/Tests/LinuxMain.swift @@ -0,0 +1,9 @@ +import XCTest + +import NIORedisTests +import RedisTests + +var tests = [XCTestCaseEntry]() +tests += NIORedisTests.allTests() +tests += RedisTests.allTests() +XCTMain(tests) diff --git a/Tests/NIORedisTests/RESPValueTests.swift b/Tests/NIORedisTests/RESPValueTests.swift new file mode 100644 index 0000000..629893e --- /dev/null +++ b/Tests/NIORedisTests/RESPValueTests.swift @@ -0,0 +1,12 @@ +import XCTest +@testable import NIORedis + +final class RESPValueTests: XCTestCase { + func testDescription() throws { + XCTAssert(String(describing: RESPValue(1)) == "1") + } + + static var allTests = [ + ("testDescription", testDescription) + ] +} diff --git a/Tests/NIORedisTests/XCTestManifests.swift b/Tests/NIORedisTests/XCTestManifests.swift new file mode 100644 index 0000000..01c73f0 --- /dev/null +++ b/Tests/NIORedisTests/XCTestManifests.swift @@ -0,0 +1,9 @@ +import XCTest + +#if !os(macOS) +public func allTests() -> [XCTestCaseEntry] { + return [ + testCase(RESPValueTests.allTests), + ] +} +#endif diff --git a/Tests/RedisTests/RedisClientTests.swift b/Tests/RedisTests/RedisClientTests.swift new file mode 100644 index 0000000..c179109 --- /dev/null +++ b/Tests/RedisTests/RedisClientTests.swift @@ -0,0 +1,32 @@ +import XCTest +@testable import Redis +import NIO + +final class RedisClientTests: XCTestCase { + func testCreateClientWithDefaultArguments() throws { + let redisClient = Redis.createClient() + + XCTAssert(redisClient.options.hostname! == "127.0.0.1") + XCTAssert(redisClient.options.port == 6379) + XCTAssert(redisClient.options.password == nil) + XCTAssert(redisClient.options.database == nil) + } + + func testCreateClientWithSpecifiedArguments() throws { + let eventLoop = MultiThreadedEventLoopGroup(numberOfThreads: 1).next() + + let redisClient = Redis.createClient(port: 6380, host: "localhost", password: "password", db: 1, eventLoopGroup: eventLoop) + + XCTAssert(redisClient.options.hostname! == "localhost") + XCTAssert(redisClient.options.port == 6380) + XCTAssert(redisClient.options.password == "password") + XCTAssert(redisClient.options.database == 1) + XCTAssert(redisClient.options.eventLoopGroup === eventLoop) + XCTAssert(redisClient.eventLoop === eventLoop) + } + + static var allTests = [ + ("testCreateClientWithDefaultArguments", testCreateClientWithDefaultArguments), + ("testCreateClientWithSpecifiedArguments", testCreateClientWithSpecifiedArguments), + ] +} diff --git a/Tests/RedisTests/XCTestManifests.swift b/Tests/RedisTests/XCTestManifests.swift new file mode 100644 index 0000000..2d0d08a --- /dev/null +++ b/Tests/RedisTests/XCTestManifests.swift @@ -0,0 +1,9 @@ +import XCTest + +#if !os(macOS) +public func allTests() -> [XCTestCaseEntry] { + return [ + testCase(RedisClientTests.allTests), + ] +} +#endif