public async Task Handle_GivenNoKeyIfEncrypted_ShouldFail() { var useCase = new CreateProjectUseCase(null, null, null); var response = await useCase.Handle(new CreateProjectRequest("Name", KeyStorage.ServerEncrypted, null)); Assert.Null(response); Assert.True(useCase.HasError); }
public ProjectUseCaseFactory(ISecurityGateway securityGateway, IRepositoryFactory repositoryFactory) { CreateProject = new CreateProjectUseCase(securityGateway, repositoryFactory.ProjectRepository, repositoryFactory.UserRepository); ViewProject = new ViewProjectUseCase(securityGateway, repositoryFactory.ProjectRepository); ChangeInformation = new ChangeInformationUseCase(securityGateway, repositoryFactory.ProjectRepository); ChangeRights = new ChangeRightsUseCase(securityGateway, repositoryFactory.ProjectRepository, repositoryFactory.UserRepository); DeleteProject = new DeleteProjectUseCase(securityGateway, repositoryFactory.ProjectRepository); ChangeRequirementOrder = new ChangeRequirementOrderUseCase(securityGateway, repositoryFactory.ProjectRepository); ChangeUseCaseOrder = new ChangeUseCaseOrderUseCase(securityGateway, repositoryFactory.ProjectRepository); }
public async Task Handle_ServerStorage_ShouldSucceed() { var mockAsymmetricKeyParametersFactory = new Mock <IAsymmetricKeyParametersFactory>(); mockAsymmetricKeyParametersFactory.Setup(x => x.Create()).Returns(new AsymmetricKeyParameters("PUBLIC KEY", "PRIVATE KEY")); var mockRepository = new Mock <IProjectRepository>(); mockRepository.Setup(x => x.Add(It.IsAny <Project>())).ReturnsAsync((Project x) => x); var useCase = new CreateProjectUseCase(mockAsymmetricKeyParametersFactory.Object, mockRepository.Object, null); var response = await useCase.Handle(new CreateProjectRequest("Name", KeyStorage.Server, null)); Assert.False(useCase.HasError); Assert.Null(response.AsymmetricKey); mockRepository.Verify(repo => repo.Add(It.Is <Project>(x => x.Name == "Name" && !x.AsymmetricKey.IsPrivateKeyEncrypted && x.AsymmetricKey.PrivateKey == "PRIVATE KEY" && x.AsymmetricKey.PublicKey == "PUBLIC KEY")), Times.Once); }