/// <summary> /// Creates a hook for a organization /// </summary> /// <param name="org">The organizations name</param> /// <param name="hook">The hook's parameters</param> /// <remarks>See <a href="http://developer.github.com/v3/orgs/hooks/#create-a-hook">API documentation</a> for more information.</remarks> public IObservable <OrganizationHook> Create(string org, NewOrganizationHook hook) { Ensure.ArgumentNotNullOrEmptyString(org, nameof(org)); Ensure.ArgumentNotNull(hook, nameof(hook)); return(_client.Create(org, hook).ToObservable()); }
public async Task CreateAWebHookForTestOrganization() { var github = Helper.GetAuthenticatedClient(); var url = "http://test.com/example"; var contentType = OrgWebHookContentType.Json; //var secret = "53cr37"; var config = new Dictionary <string, string> { { "url", "http://hostname.url" }, { "content_type", "json" } }; var parameters = new NewOrganizationHook("web", config) { Events = new[] { "push" }, Active = false }; var hook = await github.Organization.Hook.Create(_fixture.org, parameters.ToRequest()); var baseHookUrl = CreateExpectedBaseHookUrl(_fixture.org, hook.Id); var webHookConfig = CreateExpectedConfigDictionary(config, url, contentType); Assert.Equal("web", hook.Name); Assert.Equal(new[] { "push" }.ToList(), hook.Events.ToList()); Assert.Equal(baseHookUrl, hook.Url); Assert.Equal(baseHookUrl + "/pings", hook.PingUrl); Assert.NotEqual(default, hook.CreatedAt);
public void UsesTheSuppliedHook() { var connection = Substitute.For <IApiConnection>(); var client = new OrganizationsClient(connection); var newOrganizationHook = new NewOrganizationHook("name", new Dictionary <string, string> { { "config", "" } }); client.Hook.Create("org", newOrganizationHook); connection.Received().Post <OrganizationHook>(Arg.Any <Uri>(), newOrganizationHook); }
public void RequestsCorrectUrl() { var connection = Substitute.For <IApiConnection>(); var client = new OrganizationsClient(connection); var hook = new NewOrganizationHook("name", new Dictionary <string, string> { { "config", "" } }); client.Hook.Create("org", hook); connection.Received().Post <OrganizationHook>(Arg.Is <Uri>(u => u.ToString() == "orgs/org/hooks"), hook); }
public void RequestsCorrectUrl() { var gitHubClient = Substitute.For <IGitHubClient>(); var client = new ObservableOrganizationHooksClient(gitHubClient); var hook = new NewOrganizationHook("name", new Dictionary <string, string> { { "config", "" } }); client.Create("org", hook); gitHubClient.Received().Organization.Hook.Create("org", hook); }
static OrganizationHook CreateHook(IGitHubClient github, string orgFixture, string hookName, string eventName) { var config = new Dictionary <string, string> { { "content_type", "json" }, { "url", "http://test.com/example" } }; var parameters = new NewOrganizationHook(hookName, config) { Events = new[] { eventName }, Active = false }; var createdHook = github.Organization.Hook.Create(orgFixture, parameters); return(createdHook.Result); }