Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

81 строка
2.7 KiB

  1. @testable import App
  2. import Fluent
  3. import XCTVapor
  4. final class AppTests: XCTestCase {
  5. func testUsersIndex() async throws{
  6. let app = Application(.testing)
  7. defer { app.shutdown() }
  8. try await configure(app)
  9. try app.test(.GET, "api/v2.0/users/", afterResponse: { res in
  10. XCTAssertEqual(res.status, .ok)
  11. XCTAssertEqual(res.headers.contentType, .json)
  12. _ = try res.content.decode([mdlUser].self)
  13. })
  14. }
  15. func testUsersRead() async throws{
  16. let app = Application(.testing)
  17. defer{app.shutdown()}
  18. try await configure(app)
  19. let basepath = "api/v2.0/users/"
  20. let parameter = try CustomCrypto.EncryptString(input: "1")
  21. print(parameter)
  22. let path = "\(basepath)\(parameter)"
  23. try app.test(.GET, path, afterResponse: { res in
  24. XCTAssertEqual(res.status, .ok)
  25. XCTAssertEqual(res.headers.contentType, .json)
  26. _ = try res.content.decode(mdlUser.self)
  27. })
  28. }
  29. func testUserLogin() async throws{
  30. let app = Application(.testing)
  31. defer{app.shutdown()}
  32. try await configure(app)
  33. let api = "api/v2.0/users/login/"
  34. let gooduser = "bryckman"
  35. let goodpwd = "password"
  36. let baduser = "brycman_"
  37. let badpwd = "p@$$w0rd"
  38. var combo = "\(gooduser):\(goodpwd)"
  39. var parameter = try CustomCrypto.EncryptString(input: combo)
  40. var path = "\(api)\(parameter)"
  41. try app.test(.GET, path, afterResponse: {
  42. res in
  43. XCTAssertEqual(res.status, .ok)
  44. XCTAssertEqual(res.headers.contentType, .json)
  45. _ = try res.content.decode(mdlUser.self)
  46. })
  47. combo = "\(gooduser):\(badpwd)"
  48. parameter = try CustomCrypto.EncryptString(input: combo)
  49. path = "\(api)\(parameter)"
  50. try app.test(.GET, path, afterResponse: {
  51. res in
  52. XCTAssertEqual(res.status, .unauthorized)
  53. XCTAssertEqual(res.headers.contentType, .json)
  54. })
  55. combo = "\(baduser):\(badpwd)"
  56. parameter = try CustomCrypto.EncryptString(input: combo)
  57. path = "\(api)\(parameter)"
  58. try app.test(.GET, path, afterResponse: {
  59. res in
  60. XCTAssertEqual(res.status, .unauthorized)
  61. XCTAssertEqual(res.headers.contentType, .json)
  62. })
  63. combo = "\(baduser):\(goodpwd)"
  64. parameter = try CustomCrypto.EncryptString(input: combo)
  65. path = "\(api)\(parameter)"
  66. try app.test(.GET, path, afterResponse: {
  67. res in
  68. XCTAssertEqual(res.status, .unauthorized)
  69. XCTAssertEqual(res.headers.contentType, .json)
  70. })
  71. }
  72. }