|
- @testable import App
- import Fluent
- import XCTVapor
-
- final class AppTests: XCTestCase {
-
- func testUsersIndex() async throws{
- let app = Application(.testing)
- defer { app.shutdown() }
- try await configure(app)
- try app.test(.GET, "api/v2.0/users/", afterResponse: { res in
- XCTAssertEqual(res.status, .ok)
- XCTAssertEqual(res.headers.contentType, .json)
- _ = try res.content.decode([mdlUser].self)
- })
- }
-
- func testUsersRead() async throws{
- let app = Application(.testing)
- defer{app.shutdown()}
- try await configure(app)
- let basepath = "api/v2.0/users/"
- let parameter = try CustomCrypto.EncryptString(input: "1")
- print(parameter)
- let path = "\(basepath)\(parameter)"
- try app.test(.GET, path, afterResponse: { res in
- XCTAssertEqual(res.status, .ok)
- XCTAssertEqual(res.headers.contentType, .json)
- _ = try res.content.decode(mdlUser.self)
- })
- }
-
- func testUserLogin() async throws{
- let app = Application(.testing)
- defer{app.shutdown()}
- try await configure(app)
- let api = "api/v2.0/users/login/"
- let gooduser = "bryckman"
- let goodpwd = "password"
-
-
- let baduser = "brycman_"
- let badpwd = "p@$$w0rd"
-
- var combo = "\(gooduser):\(goodpwd)"
- var parameter = try CustomCrypto.EncryptString(input: combo)
- var path = "\(api)\(parameter)"
- try app.test(.GET, path, afterResponse: {
- res in
- XCTAssertEqual(res.status, .ok)
- XCTAssertEqual(res.headers.contentType, .json)
- _ = try res.content.decode(mdlUser.self)
- })
- combo = "\(gooduser):\(badpwd)"
- parameter = try CustomCrypto.EncryptString(input: combo)
- path = "\(api)\(parameter)"
- try app.test(.GET, path, afterResponse: {
- res in
- XCTAssertEqual(res.status, .unauthorized)
- XCTAssertEqual(res.headers.contentType, .json)
- })
- combo = "\(baduser):\(badpwd)"
- parameter = try CustomCrypto.EncryptString(input: combo)
- path = "\(api)\(parameter)"
- try app.test(.GET, path, afterResponse: {
- res in
- XCTAssertEqual(res.status, .unauthorized)
- XCTAssertEqual(res.headers.contentType, .json)
- })
- combo = "\(baduser):\(goodpwd)"
- parameter = try CustomCrypto.EncryptString(input: combo)
- path = "\(api)\(parameter)"
- try app.test(.GET, path, afterResponse: {
- res in
- XCTAssertEqual(res.status, .unauthorized)
- XCTAssertEqual(res.headers.contentType, .json)
- })
- }
-
- }
|