コード例 #1
0
        public void Constructor_HttpClientFactoryParameterIsNotNull_ClassIsInstantiated()
        {
            // Arrange
            Func<Uri, IHttpClient> httpClientFactoryMock = u => new Mock<IHttpClient>().Object;

            // Act
            var packageRepositoryFactory = new PackageRepositoryFactory(httpClientFactoryMock);

            // Assert
            Assert.IsNotNull(packageRepositoryFactory);
        }
コード例 #2
0
        public void CreateRepository_PackageSourceParameterIsARemoteUri_DataServicePackageRepositoryIsReturned()
        {
            // Arrange
            var packageSource = "https://nuget.org/api/v2/";

            Func<Uri, IHttpClient> httpClientFactoryMock = u =>
            {
                return new Mock<IHttpClient>().Object;
            };

            var packageRepositoryFactory = new PackageRepositoryFactory(httpClientFactoryMock);

            // Act
            var result = packageRepositoryFactory.CreateRepository(packageSource);

            // Assert
            Assert.IsNotNull(result);
            Assert.AreEqual(typeof(DataServicePackageRepository), result.GetType());
        }
コード例 #3
0
        public void CreateRepository_PackageSourceParameterIsARemoteUri_HttpClientFactoryIsCalled()
        {
            // Arrange
            bool httpClientFactoryGotCalled = false;

            var packageSource = "https://nuget.org/api/v2/";

            Func<Uri, IHttpClient> httpClientFactoryMock = u =>
                {
                    httpClientFactoryGotCalled = true;
                    return new Mock<IHttpClient>().Object;
                };

            var packageRepositoryFactory = new PackageRepositoryFactory(httpClientFactoryMock);

            // Act
            packageRepositoryFactory.CreateRepository(packageSource);

            // Assert
            Assert.IsTrue(httpClientFactoryGotCalled);
        }
コード例 #4
0
        public void CreateRepository_PackageSourceParameterIsFileUri_LocalPackageRepositoryIsReturned(string packageSource)
        {
            // Arrange
            Func<Uri, IHttpClient> httpClientFactoryMock = u => new Mock<IHttpClient>().Object;
            var packageRepositoryFactory = new PackageRepositoryFactory(httpClientFactoryMock);

            // Act
            var result = packageRepositoryFactory.CreateRepository(packageSource);

            // Assert
            Assert.IsNotNull(result);
            Assert.AreEqual(typeof(LocalPackageRepository), result.GetType());
        }
コード例 #5
0
        public void HttpClientFactory_ReturnsTheHttpClientFactorySuppliedInTheConstructor()
        {
            // Arrange
            Func<Uri, IHttpClient> httpClientFactoryMock = u => new Mock<IHttpClient>().Object;
            var packageRepositoryFactory = new PackageRepositoryFactory(httpClientFactoryMock);

            // Act
            var result = packageRepositoryFactory.HttpClientFactory;

            // Assert
            Assert.AreEqual(httpClientFactoryMock, result);
        }
コード例 #6
0
        public void CreateRepository_PackageSourceParameterIsInvalid_ArgumentExceptionIsThrown(string packageSource)
        {
            // Arrange
            Func<Uri, IHttpClient> httpClientFactoryMock = u => new Mock<IHttpClient>().Object;
            var packageRepositoryFactory = new PackageRepositoryFactory(httpClientFactoryMock);

            // Act
            packageRepositoryFactory.CreateRepository(packageSource);
        }