public void UnknownApplication() { var controller = new TokenController(null, _testConfig, null, null, null) { Request = new HttpRequestMessage() }; var result = controller.Post("unknown", null); Assert.AreEqual(HttpStatusCode.NotFound, result.StatusCode); }
public void Init() { DataProtectection.Instance = new NoProtection(); globalConfiguration = new GlobalConfiguration() { Issuer = "Test Issuer" }; rocv = new Mock<IResourceOwnerCredentialValidation>(); config = new Mock<IAuthorizationServerConfiguration>(); handleManager = new Mock<IStoredGrantManager>(); assertionGrantValidator = new Mock<IAssertionGrantValidation>(); clientManager = new Mock<IClientManager>(); tokenService = new TokenService(globalConfiguration); #region Setup Test Client string secret = "12345678"; byte[] encodedByte = System.Text.ASCIIEncoding.ASCII.GetBytes(secret); string base64EncodedSecret = Convert.ToBase64String(encodedByte); _Client = new Client() { ClientId = "MobileAppShop", ClientSecret = base64EncodedSecret, Flow = OAuthFlow.ResourceOwner, AllowRefreshToken = true }; #endregion #region Setup Test Application var scope = new Scope(); scope.Name = "read"; scope.AllowedClients = new List<Client>(); scope.AllowedClients.Add(_Client); _Scopes = new List<Scope>(); _Scopes.Add(scope); string symmetricKey = "C33333333333333333333333335="; byte[] keybytes = Convert.FromBase64String(symmetricKey); SecurityKey securityKey = new InMemorySymmetricSecurityKey(keybytes); _Application = new Application() { Name = "Test Application 1", Scopes = _Scopes, Audience = "Test Audience", TokenLifetime = 1, AllowRefreshToken = true, }; #endregion #region Setup Example StoredGrant Claim[] resourceOwnerClaims = { new Claim("Username", "JohnSmith"), new Claim("sub", "JohnSmith") }; _StoredGrant = new StoredGrant() { GrantId = "MyFavouriteRefrehToken1234", CreateRefreshToken = true, Client = _Client, ResourceOwner = resourceOwnerClaims.ToStoredGrantClaims().ToList(), Expiration = DateTime.Now.AddDays(1), RefreshTokenExpiration = DateTime.Now.AddMonths(1), Type = StoredGrantType.RefreshTokenIdentifier, Scopes = _Scopes, Application = _Application }; #endregion #region Setup Mocking Objects // IAuthorizationServerConfiguration config.Setup(x => x.FindApplication(It.IsNotNull<string>())) .Returns((string name) => { return _Application; }); config.Setup(x => x.GlobalConfiguration).Returns(() => globalConfiguration); // IClientManager clientManager.Setup(x => x.Get(It.IsNotNull<string>())) .Returns((string clientId) => { return _Client; }); // IResourceOwnerCredentialValidation rocv.Setup(x => x.Validate(It.IsNotNull<string>(), It.IsNotNull<string>())) .Returns((string username, string password) => { return Principal.Create("Test", resourceOwnerClaims); }); // IStoredGrantManager handleManager.Setup(x => x.Get(It.IsNotNull<string>())) .Returns((string grantIdentifier) => { return _StoredGrant; }); #endregion _TokenController = new TokenController( rocv.Object, config.Object, handleManager.Object, assertionGrantValidator.Object, tokenService, clientManager.Object); _TokenController.Request = new HttpRequestMessage(); _TokenController.Request.SetConfiguration(new HttpConfiguration()); }