public void OnAuthorization_TriggersDeniedHookWithRevokedPermissions(string requestUrl, string permission, string permissionInStatus, bool expectedTrigger) { var rawPermissionsStatus = new Dictionary <string, string> { { "permission", permissionInStatus }, { "status", "declined" }, }; var data = new List <IDictionary <string, string> >(new[] { rawPermissionsStatus }); // Arrange var config = BuildConfiguration("~/home/permissions", userPermissionsStatus: new PermissionsStatus(data)); var authorizeFilter = new CustomDefaultAuthorizeFilter(config); var context = BuildSignedAuthorizationContext(requestUrl, permission); // Act authorizeFilter.OnAuthorization(context); // Assert Assert.Equal(expectedTrigger, authorizeFilter.DeniedPermissionPromptHookTriggered); }
public void OnAuthorization_TriggersDeniedHookAfterPersistingRequestedPermissions(string requestUrl, string permission, bool expectedTrigger) { // Arrange var config = BuildConfiguration("~/home/permissions"); var authorizeFilter = new CustomDefaultAuthorizeFilter(config); var context = BuildSignedAuthorizationContext(requestUrl, permission); // Act authorizeFilter.OnAuthorization(context); // Here we're acting like a browser and adding the responses cookies to the "next" request's cookies var responseCookies = context.HttpContext.Response.Cookies; foreach (var cookieName in responseCookies.AllKeys) { context.HttpContext.Request.Cookies.Add(responseCookies[cookieName]); } // Assert Assert.False(authorizeFilter.DeniedPermissionPromptHookTriggered); // Act 2 // We're making a "second" request essentially authorizeFilter.OnAuthorization(context); // Assert 2 Assert.Equal(expectedTrigger, authorizeFilter.DeniedPermissionPromptHookTriggered); }
public void OnAuthorization_TriggersDeniedHookWithRevokedPermissions(string requestUrl, string permission, string permissionInStatus, bool expectedTrigger) { var rawPermissionsStatus = new Dictionary<string, string> { { "permission", permissionInStatus }, { "status", "declined" }, }; var data = new List<IDictionary<string, string>>(new[] { rawPermissionsStatus }); // Arrange var config = BuildConfiguration("~/home/permissions", userPermissionsStatus: new PermissionsStatus(data)); var authorizeFilter = new CustomDefaultAuthorizeFilter(config); var context = BuildSignedAuthorizationContext(requestUrl, permission); // Act authorizeFilter.OnAuthorization(context); // Assert Assert.Equal(expectedTrigger, authorizeFilter.DeniedPermissionPromptHookTriggered); }
public void OnAuthorization_TriggersDeniedHook( string requestUrl, string permission, bool expectedTrigger ) { // Arrange var config = BuildConfiguration("~/home/permissions"); var authorizeFilter = new CustomDefaultAuthorizeFilter(config); var persistedCookies = new HttpCookieCollection(); persistedCookies.Add( new HttpCookie( PermissionHelper.RequestedPermissionCookieName, permission ?? string.Empty ) ); var context = BuildSignedAuthorizationContext(requestUrl, permission, persistedCookies); // Act authorizeFilter.OnAuthorization(context); // Assert Assert.Equal(expectedTrigger, authorizeFilter.DeniedPermissionPromptHookTriggered); }
public void OnAuthorization_TriggersPreHookPriorToPermissionsDialog(string requestUrl, string permission, bool expectedTrigger) { // Arrange var config = BuildConfiguration("~/home/permissions"); var authorizeFilter = new CustomDefaultAuthorizeFilter(config); var context = BuildSignedAuthorizationContext(requestUrl, permission); // Act authorizeFilter.OnAuthorization(context); // Assert Assert.Equal(expectedTrigger, authorizeFilter.PermissionPromptHookTriggered); }
public void OnAuthorization_TriggersCannotCreateCookiesHook(string requestUrl, string permission, bool expectedTrigger) { // Arrange var config = BuildConfiguration("~/home/permissions"); var authorizeFilter = new CustomDefaultAuthorizeFilter(config); var context = BuildSignedAuthorizationContext(requestUrl, permission); // Act authorizeFilter.OnAuthorization(context); // Assert Assert.Equal(expectedTrigger, authorizeFilter.CannotCreateCookiesHookTriggered); }
public void OnAuthorization_OnlyTriggersCannotCreateCookiesHook() { // Arrange var config = BuildConfiguration("~/home/permissions"); var authorizeFilter = new CustomDefaultAuthorizeFilter(config); var context = BuildSignedAuthorizationContext("http://contoso.com?__fb_mps=true", "email"); // Act authorizeFilter.OnAuthorization(context); // Assert Assert.True(authorizeFilter.CannotCreateCookiesHookTriggered); Assert.False(authorizeFilter.PermissionPromptHookTriggered); Assert.False(authorizeFilter.DeniedPermissionPromptHookTriggered); }
public void OnAuthorization_TriggersDeniedHook(string requestUrl, string permission, bool expectedTrigger) { // Arrange var config = BuildConfiguration("~/home/permissions"); var authorizeFilter = new CustomDefaultAuthorizeFilter(config); var persistedCookies = new HttpCookieCollection(); persistedCookies.Add( new HttpCookie( PermissionHelper.RequestedPermissionCookieName, permission ?? string.Empty)); var context = BuildSignedAuthorizationContext(requestUrl, permission, persistedCookies); // Act authorizeFilter.OnAuthorization(context); // Assert Assert.Equal(expectedTrigger, authorizeFilter.DeniedPermissionPromptHookTriggered); }
public void OnAuthorization_TriggersDeniedHookAfterPersistingRequestedPermissions(string requestUrl, string permission, bool expectedTrigger) { // Arrange var config = BuildConfiguration("~/home/permissions"); var authorizeFilter = new CustomDefaultAuthorizeFilter(config); var context = BuildSignedAuthorizationContext(requestUrl, permission); // Act authorizeFilter.OnAuthorization(context); // Here we're acting like a browser and adding the responses cookies to the "next" request's cookies var responseCookies = context.HttpContext.Response.Cookies; foreach (var cookieName in responseCookies.AllKeys) { context.HttpContext.Request.Cookies.Add(responseCookies[cookieName]); } // Assert Assert.Equal(false, authorizeFilter.DeniedPermissionPromptHookTriggered); // Act 2 // We're making a "second" request essentially authorizeFilter.OnAuthorization(context); // Assert 2 Assert.Equal(expectedTrigger, authorizeFilter.DeniedPermissionPromptHookTriggered); }