public void ApisJsonBuilder_BuildForPath_WithPath_ShouldBuildForResourcesAtPath() { //------------Setup for test-------------------------- EnvironmentVariables.DnsName = "http://localhost/"; EnvironmentVariables.Port = 3142; var mockAuthorizationService = new Mock<IAuthorizationService>(); mockAuthorizationService.Setup(service => service.IsAuthorized(AuthorizationContext.View, It.IsAny<string>())).Returns(true); mockAuthorizationService.Setup(service => service.IsAuthorized(AuthorizationContext.Execute, It.IsAny<string>())).Returns(true); var mockResourceCatalog = new Mock<IResourceCatalog>(); var resources = new List<IResource>(); var resource1 = new Resource { ResourceName = "Execution Engine Test", ResourcePath = "Acceptance Testing Resources\\Execution Engine\\Execution Engine Test", ResourceType = ResourceType.WorkflowService }; var resource2 = new Resource { ResourceName = "Hello World", ResourcePath = "Hello World", ResourceType = ResourceType.WorkflowService }; var resource3 = new Resource { ResourceName = "9139Local", ResourcePath = "Acceptance Testing Resources\\9139Local", ResourceType = ResourceType.WorkflowService }; resources.Add(resource1); resources.Add(resource2); resources.Add(resource3); mockResourceCatalog.Setup(catalog => catalog.GetResourceList(It.IsAny<Guid>())).Returns(resources); var apisJsonBuilder = new ApisJsonBuilder(mockAuthorizationService.Object,mockResourceCatalog.Object); var exceptedApisJson = GetExceptedApisJsonForServerPathWithNoSubDirectories(); //------------Execute Test--------------------------- var apisJson = apisJsonBuilder.BuildForPath("Acceptance Testing Resources\\Execution Engine",false); //------------Assert Results------------------------- Assert.IsNotNull(apisJson); Assert.AreEqual(exceptedApisJson,apisJson); Assert.AreEqual(exceptedApisJson.Apis.Count,apisJson.Apis.Count); Assert.AreEqual(exceptedApisJson.Apis[0].Name,apisJson.Apis[0].Name); Assert.AreEqual(exceptedApisJson.Apis[0].BaseUrl,apisJson.Apis[0].BaseUrl); }
public void ApisJsonBuilder_BuildForPath_OnlyAuthorized_MixPublicWithSecure_ShouldBuildForWholeCatalog() { //------------Setup for test-------------------------- EnvironmentVariables.DnsName = "http://localhost/"; EnvironmentVariables.Port = 3142; var publicAuthorizedResourceID = Guid.NewGuid(); var authorizedResource1 = Guid.NewGuid(); var authorizedResource2 = Guid.NewGuid(); var mockAuthorizationService = new Mock<IAuthorizationService>(); mockAuthorizationService.Setup(service => service.IsAuthorized(AuthorizationContext.View, publicAuthorizedResourceID.ToString())).Returns(false); mockAuthorizationService.Setup(service => service.IsAuthorized(AuthorizationContext.Execute, publicAuthorizedResourceID.ToString())).Returns(false); mockAuthorizationService.Setup(service => service.IsAuthorized(AuthorizationContext.View, authorizedResource1.ToString())).Returns(true); mockAuthorizationService.Setup(service => service.IsAuthorized(AuthorizationContext.Execute, authorizedResource1.ToString())).Returns(true); mockAuthorizationService.Setup(service => service.IsAuthorized(AuthorizationContext.View, authorizedResource2.ToString())).Returns(true); mockAuthorizationService.Setup(service => service.IsAuthorized(AuthorizationContext.Execute, authorizedResource2.ToString())).Returns(true); mockAuthorizationService.Setup(service => service.IsAuthorized(GlobalConstants.GenericPrincipal, AuthorizationContext.View, publicAuthorizedResourceID.ToString())).Returns(true); mockAuthorizationService.Setup(service => service.IsAuthorized(GlobalConstants.GenericPrincipal, AuthorizationContext.Execute, publicAuthorizedResourceID.ToString())).Returns(true); var mockResourceCatalog = new Mock<IResourceCatalog>(); var resources = new List<IResource>(); var resource1 = new Resource { ResourceID = publicAuthorizedResourceID, ResourceName = "Execution Engine Test", ResourcePath = "Acceptance Testing Resources\\Execution Engine\\Execution Engine Test", ResourceType = ResourceType.WorkflowService }; var resource2 = new Resource { ResourceID = authorizedResource1, ResourceName = "Hello World", ResourcePath = "Hello World", ResourceType = ResourceType.WorkflowService }; var resource3 = new Resource { ResourceID = authorizedResource2, ResourceName = "9139Local", ResourcePath = "Acceptance Testing Resources\\9139Local", ResourceType = ResourceType.WorkflowService }; resources.Add(resource1); resources.Add(resource2); resources.Add(resource3); mockResourceCatalog.Setup(catalog => catalog.GetResourceList(It.IsAny<Guid>())).Returns(resources); var apisJsonBuilder = new ApisJsonBuilder(mockAuthorizationService.Object, mockResourceCatalog.Object); var exceptedApisJson = GetExceptedApisJsonForServerSecurity(); //------------Execute Test--------------------------- var apisJson = apisJsonBuilder.BuildForPath(null,false); //------------Assert Results------------------------- Assert.IsNotNull(apisJson); Assert.AreEqual(exceptedApisJson, apisJson); Assert.AreEqual(exceptedApisJson.Apis.Count, apisJson.Apis.Count); Assert.AreEqual(exceptedApisJson.Apis[0].BaseUrl, apisJson.Apis[0].BaseUrl); Assert.AreEqual(exceptedApisJson.Apis[1].BaseUrl, apisJson.Apis[1].BaseUrl); }