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