Ejemplo n.º 1
0
            public void EnsuresNonNullArguments()
            {
                var releasesClient = new ObservableReleasesClient(Substitute.For <IGitHubClient>());

                Assert.Throws <ArgumentNullException>(() => releasesClient.GetAll(null, "name"));
                Assert.Throws <ArgumentNullException>(() => releasesClient.GetAll("owner", null));
            }
Ejemplo n.º 2
0
            public void EnsuresNonNullArguments()
            {
                var client = new ObservableReleasesClient(Substitute.For <IGitHubClient>());

                Assert.Throws <ArgumentNullException>(() => client.DeleteAsset(null, "name", 1));
                Assert.Throws <ArgumentException>(() => client.DeleteAsset("", "name", 1));
                Assert.Throws <ArgumentNullException>(() => client.DeleteAsset("owner", null, 1));
                Assert.Throws <ArgumentException>(() => client.DeleteAsset("owner", "", 1));
            }
Ejemplo n.º 3
0
            public void CallsIntoClient()
            {
                var gitHubClient = Substitute.For <IGitHubClient>();
                var client       = new ObservableReleasesClient(gitHubClient);

                client.GetLatest("fake", "repo");

                gitHubClient.Repository.Release.Received(1).GetLatest("fake", "repo");
            }
            public void RequestsTheCorrectUrlWithRepositoryId()
            {
                var gitHubClient = Substitute.For <IGitHubClient>();
                var client       = new ObservableReleasesClient(gitHubClient);

                client.GetAsset(1, 1);

                gitHubClient.Repository.Release.Received(1).GetAsset(1, 1);
            }
            public void RequestsTheCorrectUrl()
            {
                var gitHubClient = Substitute.For <IGitHubClient>();
                var client       = new ObservableReleasesClient(gitHubClient);

                client.Delete("fake", "repo", 1);

                gitHubClient.Repository.Release.Received(1).Delete("fake", "repo", 1);
            }
Ejemplo n.º 6
0
            public void RequestsTheCorrectUrl()
            {
                var gitHubClient = Substitute.For <IGitHubClient>();
                var client       = new ObservableReleasesClient(gitHubClient);

                client.GetAll("fake", "repo");

                gitHubClient.Connection.Received(1).Get <List <Release> >(
                    new Uri("repos/fake/repo/releases", UriKind.Relative), null, null);
            }
Ejemplo n.º 7
0
            public void EnsuresArgumentsNotNull()
            {
                var releasesClient = new ObservableReleasesClient(Substitute.For <IGitHubClient>());
                var data           = new NewRelease("fake-tag");

                Assert.Throws <ArgumentNullException>(() => new NewRelease(null));
                Assert.Throws <ArgumentNullException>(() => releasesClient.Create(null, "name", data));
                Assert.Throws <ArgumentNullException>(() => releasesClient.Create("owner", null, data));
                Assert.Throws <ArgumentNullException>(() => releasesClient.Create("owner", "name", null));
            }
Ejemplo n.º 8
0
            public void RequestsTheCorrectUrl()
            {
                var gitHubClient   = Substitute.For <IGitHubClient>();
                var releasesClient = new ObservableReleasesClient(gitHubClient);
                var data           = new ReleaseUpdate("fake-tag");

                releasesClient.EditRelease("fake", "repo", data);

                gitHubClient.Release.Received(1).EditRelease("fake", "repo", data);
            }
            public void RequestsTheCorrectUrlWithRepositoryId()
            {
                var gitHubClient = Substitute.For <IGitHubClient>();
                var client       = new ObservableReleasesClient(gitHubClient);

                client.DeleteAsset(1, 1);

                gitHubClient.Connection.Delete(
                    new Uri("repositories/1/releases/assets/1", UriKind.Relative));
            }
            public void RequestsTheCorrectUrlWithRepositoryId()
            {
                var gitHubClient = Substitute.For <IGitHubClient>();
                var client       = new ObservableReleasesClient(gitHubClient);
                var data         = new ReleaseAssetUpdate("asset");

                client.EditAsset(1, 1, data);

                gitHubClient.Repository.Release.Received(1).EditAsset(1, 1, data);
            }
            public void RequestsTheCorrectUrl()
            {
                var gitHubClient = Substitute.For <IGitHubClient>();
                var client       = new ObservableReleasesClient(gitHubClient);

                client.DeleteAsset("fake", "repo", 1);

                gitHubClient.Connection.Delete(
                    new Uri("repos/fake/repo/releases/assets/1", UriKind.Relative));
            }
            public void EnsuresArgumentsNotNull()
            {
                var releasesClient = new ObservableReleasesClient(Substitute.For <IGitHubClient>());

                var release    = new Release("https://uploads.github.com/anything");
                var uploadData = new ReleaseAssetUpload("good", "good/good", Stream.Null, null);

                Assert.Throws <ArgumentNullException>(() => releasesClient.UploadAsset(null, uploadData));
                Assert.Throws <ArgumentNullException>(() => releasesClient.UploadAsset(release, null));
            }
            public void RequestsTheCorrectUrl()
            {
                var gitHubClient = Substitute.For <IGitHubClient>();
                var client       = new ObservableReleasesClient(gitHubClient);

                client.GetAllAssets("fake", "repo", 1);

                gitHubClient.Connection.Received(1).Get <List <ReleaseAsset> >(
                    new Uri("repos/fake/repo/releases/1/assets", UriKind.Relative), Args.EmptyDictionary, null);
            }
            public void RequestsTheCorrectUrlWithRepositoryId()
            {
                var gitHubClient = Substitute.For <IGitHubClient>();
                var client       = new ObservableReleasesClient(gitHubClient);

                client.GetAll(1);

                gitHubClient.Connection.Received(1).Get <List <Release> >(
                    new Uri("repositories/1/releases", UriKind.Relative), Args.EmptyDictionary, null);
            }
            public void RequestsTheCorrectUrlWithRepositoryId()
            {
                var gitHubClient   = Substitute.For <IGitHubClient>();
                var releasesClient = new ObservableReleasesClient(gitHubClient);
                var data           = new NewRelease("fake-tag");

                releasesClient.Create(1, data);

                gitHubClient.Repository.Release.Received(1).Create(1, data);
            }
Ejemplo n.º 16
0
            public void CallsIntoClient()
            {
                var gitHubClient   = Substitute.For <IGitHubClient>();
                var releasesClient = new ObservableReleasesClient(gitHubClient);
                var data           = new NewRelease("fake-tag");

                releasesClient.Create("fake", "repo", data);

                gitHubClient.Repository.Release.Received(1).Create("fake", "repo", data);
            }
Ejemplo n.º 17
0
            public void EnsuresNonNullArguments()
            {
                var releasesClient = new ObservableReleasesClient(Substitute.For <IGitHubClient>());
                var update         = new ReleaseUpdate("tag");

                Assert.Throws <ArgumentNullException>(() => releasesClient.EditRelease(null, "name", update));
                Assert.Throws <ArgumentException>(() => releasesClient.EditRelease("", "name", update));
                Assert.Throws <ArgumentNullException>(() => releasesClient.EditRelease("owner", null, update));
                Assert.Throws <ArgumentException>(() => releasesClient.EditRelease("owner", "", update));
                Assert.Throws <ArgumentNullException>(() => releasesClient.EditRelease("owner", "name", null));
            }
            public void RequestsTheCorrectUrl()
            {
                var gitHubClient   = Substitute.For <IGitHubClient>();
                var releasesClient = new ObservableReleasesClient(gitHubClient);
                var release        = new Release("https://uploads.test.dev/does/not/matter/releases/1/assets{?name}");
                var rawData        = Substitute.For <Stream>();
                var upload         = new ReleaseAssetUpload("example.zip", "application/zip", rawData, null);

                releasesClient.UploadAsset(release, upload);

                gitHubClient.Repository.Release.Received(1).UploadAsset(release, upload);
            }
            public void RequestsTheCorrectUrlWithRepositoryId()
            {
                var gitHubClient   = Substitute.For <IGitHubClient>();
                var releasesClient = new ObservableReleasesClient(gitHubClient);
                var data           = new ReleaseUpdate {
                    TagName = "fake-tag"
                };

                releasesClient.Edit(1, 1, data);

                gitHubClient.Repository.Release.Received(1).Edit(1, 1, data);
            }
Ejemplo n.º 20
0
            public void EnsuresArgumentsNotNull()
            {
                var releasesClient = new ObservableReleasesClient(Substitute.For <IGitHubClient>());

                var release = new Release {
                    UploadUrl = "https://uploads.github.com/anything"
                };
                var uploadData = new ReleaseAssetUpload {
                    FileName = "good", ContentType = "good/good", RawData = Stream.Null
                };

                Assert.Throws <ArgumentNullException>(() => releasesClient.UploadAsset(null, uploadData));
                Assert.Throws <ArgumentNullException>(() => releasesClient.UploadAsset(release, null));
            }
Ejemplo n.º 21
0
            public void CallsIntoClient()
            {
                var gitHubClient   = Substitute.For <IGitHubClient>();
                var releasesClient = new ObservableReleasesClient(gitHubClient);
                var release        = new Release {
                    UploadUrl = "https://uploads.test.dev/does/not/matter/releases/1/assets{?name}"
                };
                var rawData = Substitute.For <Stream>();
                var upload  = new ReleaseAssetUpload {
                    FileName = "example.zip", ContentType = "application/zip", RawData = rawData
                };

                releasesClient.UploadAsset(release, upload);

                gitHubClient.Release.Received(1).UploadAsset(release, upload);
            }
            public void RequestsTheCorrectUrlWithRepositoryIdWithApiOptions()
            {
                var gitHubClient = Substitute.For <IGitHubClient>();
                var client       = new ObservableReleasesClient(gitHubClient);

                var options = new ApiOptions
                {
                    PageCount = 1,
                    PageSize  = 1,
                    StartPage = 1
                };

                client.GetAll(1, options);

                gitHubClient.Connection.Received(1).Get <List <Release> >(
                    new Uri("repositories/1/releases", UriKind.Relative), Arg.Is <IDictionary <string, string> >(d => d.Count == 2), null);
            }
            public void RequestsTheCorrectUrlWithRepositoryIdWithApiOptions()
            {
                var expectedUrl = "repositories/1/releases/1/assets";

                var gitHubClient = Substitute.For <IGitHubClient>();
                var client       = new ObservableReleasesClient(gitHubClient);

                var options = new ApiOptions
                {
                    StartPage = 1,
                    PageCount = 1,
                    PageSize  = 1
                };

                client.GetAllAssets(1, 1, options);

                gitHubClient.Connection.Received(1).Get <List <ReleaseAsset> >(
                    Arg.Is <Uri>(u => u.ToString() == expectedUrl),
                    Arg.Is <IDictionary <string, string> >(dictionary => dictionary.Count == 2),
                    null);
            }
Ejemplo n.º 24
0
            public TheGetMethod()
            {
                var github = Helper.GetAuthenticatedClient();

                _releaseClient = new ObservableReleasesClient(github);
            }