public async Task Handle_RepositoryFound_ReturnsSingleRepository()
        {
            //Arrange
            var fakeAmazonEcr = Substitute.For <IAmazonECR>();

            fakeAmazonEcr
            .DescribeRepositoriesAsync(Arg.Is <DescribeRepositoriesRequest>(args => args
                                                                            .RepositoryNames
                                                                            .Contains("some-repository-name")))
            .Returns(new DescribeRepositoriesResponse()
            {
                Repositories = new List <Repository>()
                {
                    new Repository()
                }
            });

            var handler = new GetRepositoryByNameQueryHandler(fakeAmazonEcr);

            //Act
            var repository = await handler.Handle(new GetRepositoryByNameQuery("some-repository-name"), default);

            //Assert
            Assert.IsNotNull(repository);
        }
        public async Task Handle_RepositoryNotFound_ReturnsNull()
        {
            //Arrange
            var fakeAmazonEcr = Substitute.For <IAmazonECR>();

            fakeAmazonEcr
            .DescribeRepositoriesAsync(Arg.Is <DescribeRepositoriesRequest>(args => args
                                                                            .RepositoryNames
                                                                            .Contains("some-repository-name")))
            .Throws(new RepositoryNotFoundException("dummy"));

            var handler = new GetRepositoryByNameQueryHandler(fakeAmazonEcr);

            //Act
            var repository = await handler.Handle(new GetRepositoryByNameQuery("some-repository-name"), default);

            //Assert
            Assert.IsNull(repository);
        }