public void TestAccessUsingBasicAuthentication() { var permissions = new Mock<AbstractSystemPermissionsProvider>(); permissions.Setup( p => p.HasPermissions(It.Is<IUserIdentity>(x => x != null && x.UserName.Equals("alice")), SystemPermissions.ListStores)) .Returns(true); var userValidator = new Mock<IUserValidator>(); userValidator.Setup(v => v.Validate("alice", "password")) .Returns(new MockUserIdentity("alice", new string[0])); var mockBrightstar = new Mock<IBrightstarService>(); mockBrightstar.Setup(s => s.ListStores()).Returns(new string[0]); var bootstrapper = new FakeNancyBootstrapper(mockBrightstar.Object, new BasicAuthAuthenticationProvider(new BasicAuthenticationConfiguration(userValidator.Object, "test")), new FallbackStorePermissionsProvider(StorePermissions.All), permissions.Object); var app = new Browser(bootstrapper); var response = app.Get("/", c => { c.BasicAuth("alice", "password"); c.Accept(MediaRange.FromString("application/json")); }); Assert.That(response.StatusCode, Is.EqualTo(HttpStatusCode.OK)); permissions.VerifyAll(); userValidator.VerifyAll(); mockBrightstar.VerifyAll(); }
public BrowserFixture() { var bootstrapper = new FakeNancyBootstrapper(); this.browser = new Browser(bootstrapper); }
public BrowserFixture() { var bootstrapper = new FakeNancyBootstrapper(); this.browser = new Browser(bootstrapper); }
public void TestAccessRequiresValidatedPassword() { var permissions = new Mock <AbstractSystemPermissionsProvider>(); permissions.Setup( p => p.HasPermissions(It.Is <IUserIdentity>(x => x != null && x.UserName.Equals("alice")), SystemPermissions.ListStores)) .Returns(true); var userValidator = new Mock <IUserValidator>(); userValidator.Setup(v => v.Validate("alice", "invalidpassword")) .Returns((IUserIdentity)null); var mockBrightstar = new Mock <IBrightstarService>(); mockBrightstar.Setup(s => s.ListStores()).Returns(new string[0]); var bootstrapper = new FakeNancyBootstrapper(mockBrightstar.Object, new BasicAuthAuthenticationProvider(new BasicAuthenticationConfiguration(userValidator.Object, "test")), new FallbackStorePermissionsProvider(StorePermissions.All), permissions.Object); var app = new Browser(bootstrapper); var response = app.Get("/", c => { c.BasicAuth("alice", "invalidpassword"); c.Accept(new MediaRange("application/json")); }); Assert.That(response.StatusCode, Is.EqualTo(HttpStatusCode.Unauthorized)); userValidator.VerifyAll(); permissions.Verify(x => x.HasPermissions(null, SystemPermissions.ListStores), Times.Once()); permissions.Verify(x => x.HasPermissions(It.IsNotNull <IUserIdentity>(), SystemPermissions.ListStores), Times.Never()); mockBrightstar.Verify(x => x.ListStores(), Times.Never()); }
public void TestAccessRequiresBasicAuthentication() { var permissions = new Mock<AbstractSystemPermissionsProvider>(); permissions.Setup(p => p.HasPermissions(null, SystemPermissions.ListStores)).Returns(false); var userValidator = new Mock<IUserValidator>(); var mockBrightstar = new Mock<IBrightstarService>(); mockBrightstar.Setup(s => s.ListStores()).Returns(new string[0]); var bootstrapper = new FakeNancyBootstrapper(mockBrightstar.Object, new BasicAuthAuthenticationProvider(new BasicAuthenticationConfiguration(userValidator.Object, "test")), new FallbackStorePermissionsProvider(StorePermissions.All), permissions.Object); var app = new Browser(bootstrapper); var response = app.Get("/", c => c.Accept(MediaRange.FromString("application/json"))); Assert.That(response.StatusCode, Is.EqualTo(HttpStatusCode.Unauthorized)); permissions.VerifyAll(); userValidator.VerifyAll(); mockBrightstar.Verify(x=>x.ListStores(), Times.Never()); }
public void TestAccessRequiresBasicAuthentication() { var permissions = new Mock <AbstractSystemPermissionsProvider>(); permissions.Setup(p => p.HasPermissions(null, SystemPermissions.ListStores)).Returns(false); var userValidator = new Mock <IUserValidator>(); var mockBrightstar = new Mock <IBrightstarService>(); mockBrightstar.Setup(s => s.ListStores()).Returns(new string[0]); var bootstrapper = new FakeNancyBootstrapper(mockBrightstar.Object, new BasicAuthAuthenticationProvider(new BasicAuthenticationConfiguration(userValidator.Object, "test")), new FallbackStorePermissionsProvider(StorePermissions.All), permissions.Object); var app = new Browser(bootstrapper); var response = app.Get("/", c => c.Accept(new MediaRange("application/json"))); Assert.That(response.StatusCode, Is.EqualTo(HttpStatusCode.Unauthorized)); permissions.VerifyAll(); userValidator.VerifyAll(); mockBrightstar.Verify(x => x.ListStores(), Times.Never()); }