using System; using Xunit; using Newtonsoft.Json.Linq; using FluentAssertions; namespace raven_integration { public class Auth { /// /// /// [Fact] public async Task BadLoginShouldNotWork() { //Expect status code 401 and result: // {{ // "error": { // "code": "2003", // "message": "Authentication failed" // } // }} dynamic d = new JObject(); d.login = "BOGUS"; d.password = "ACCOUNT"; ApiResponse a = await Util.PostAsync("auth", null, d.ToString()); Util.ValidateErrorCodeResponse(a, 2003, 401); } ///////////////////////////////////////////////////////////////////////////////////////////////// /// case 4648 Removed all these jwt related tests for expediency /// they relied on an ancient setup in auth /// that no longer exists and I'm not sure how /// useful they are // //NOTE: These tests are for Debug builds, they should still pass in a release build because none of the creds will work and it checks for 401 only // //but a true test of these JWT tokens is only in server debug mode // /// // /// // /// // [Fact] // public async Task JWTExpiredTokenShouldFail() // { // ApiResponse a = await Util.GetAsync("build-mode", await Util.GetTokenAsync("superuser", "l3tm3in")); // var BuildMode = a.ObjectResponse["data"]["buildMode"].Value(); // if (BuildMode == "DEBUG") // { // a = await Util.GetAsync("translation/list", await Util.GetTokenAsync("INTEGRATION_TEST", "EXPIRED"));//lowest level test user because there are no limits on this route except to be authenticated // Util.ValidateHTTPStatusCode(a, 401); // } // } // /// // /// // /// // [Fact] // public async Task JWTWrongIssuerShouldFail() // { // ApiResponse a = await Util.GetAsync("build-mode", await Util.GetTokenAsync("superuser", "l3tm3in")); // var BuildMode = a.ObjectResponse["data"]["buildMode"].Value(); // if (BuildMode == "DEBUG") // { // a = await Util.GetAsync("translation/list", await Util.GetTokenAsync("INTEGRATION_TEST", "WRONG_ISSUER"));//lowest level test user because there are no limits on this route except to be authenticated // Util.ValidateHTTPStatusCode(a, 401); // } // } // /// // /// // /// // [Fact] // public async Task JWTNoAlgorithmShouldFail() // { // ApiResponse a = await Util.GetAsync("build-mode", await Util.GetTokenAsync("superuser", "l3tm3in")); // var BuildMode = a.ObjectResponse["data"]["buildMode"].Value(); // if (BuildMode == "DEBUG") // { // a = await Util.GetAsync("translation/list", await Util.GetTokenAsync("INTEGRATION_TEST", "NO_ALGORITHM")); // Util.ValidateHTTPStatusCode(a, 401); // } // } // /// // /// // /// // [Fact] // public async Task JWTBadSecretShouldFail() // { // ApiResponse a = await Util.GetAsync("build-mode", await Util.GetTokenAsync("superuser", "l3tm3in")); // var BuildMode = a.ObjectResponse["data"]["buildMode"].Value(); // if (BuildMode == "DEBUG") // { // a = await Util.GetAsync("translation/list", await Util.GetTokenAsync("INTEGRATION_TEST", "WRONG_SECRET")); // Util.ValidateHTTPStatusCode(a, 401); // } // } // /// // /// // /// // [Fact] // public async Task JWTTruncatedSignatureShouldFail() // { // ApiResponse a = await Util.GetAsync("build-mode", await Util.GetTokenAsync("superuser", "l3tm3in")); // var BuildMode = a.ObjectResponse["data"]["buildMode"].Value(); // if (BuildMode == "DEBUG") // { // a = await Util.GetAsync("translation/list", await Util.GetTokenAsync("INTEGRATION_TEST", "TRUNCATED_SIGNATURE")); // Util.ValidateHTTPStatusCode(a, 401); // } // } // /// // /// // /// // [Fact] // public async Task JWTTransposedSignatureShouldFail() // { // ApiResponse a = await Util.GetAsync("build-mode", await Util.GetTokenAsync("superuser", "l3tm3in")); // var BuildMode = a.ObjectResponse["data"]["buildMode"].Value(); // if (BuildMode == "DEBUG") // { // a = await Util.GetAsync("translation/list", await Util.GetTokenAsync("INTEGRATION_TEST", "TRANSPOSE_SIGNATURE")); // Util.ValidateHTTPStatusCode(a, 401); // } // } //================================================== }//eoc }//eons