public ApplicationCalendars() { this.client = new CronofyOAuthClient(clientId, clientSecret); this.http = new StubHttpClient(); client.HttpClient = http; }
public void AlteredDefaultDataCentre() { var defaultDataCentre = Configuration.DefaultDataCentre; try { Configuration.DefaultDataCentre = DataCentre.German; this.client = new CronofyOAuthClient(clientId, clientSecret); var authUrl = client.GetAuthorizationUrlBuilder(redirectUri).Build(); var expectedAuthUrl = string.Format( "https://app-de.cronofy.com/oauth/authorize" + "?client_id={0}" + "&response_type=code" + "&redirect_uri={1}" + "&scope=read_account%20read_events%20create_event%20delete_event", UrlBuilder.EncodeParameter(clientId), UrlBuilder.EncodeParameter(redirectUri)); Assert.AreEqual(expectedAuthUrl, authUrl); } finally { Configuration.DefaultDataCentre = defaultDataCentre; } }
public HmacVerification() { this.client = new CronofyOAuthClient(clientId, clientSecret); this.http = new StubHttpClient(); client.HttpClient = http; }
public GetTokenFromRefreshToken() { this.client = new CronofyOAuthClient(clientId, clientSecret); this.http = new StubHttpClient(); client.HttpClient = http; }
public void SetUp() { this.client = new CronofyOAuthClient(clientId, clientSecret); this.http = new StubHttpClient(); client.HttpClient = http; }
public RevokeToken() { this.client = new CronofyOAuthClient(clientId, clientSecret); this.http = new StubHttpClient(); client.HttpClient = http; }
public void SetUp() { this.client = new CronofyOAuthClient(clientId, clientSecret); this.http = new StubHttpClient(); client.HttpClient = http; this.upsertEventRequest = new SmartInviteEventRequestBuilder() .Summary(summary) .Start(start) .End(end) .Build(); }
public AddToCalendar() { this.client = new CronofyOAuthClient(clientId, clientSecret); this.http = new StubHttpClient(); client.HttpClient = http; this.upsertEventRequest = new UpsertEventRequestBuilder() .EventId(eventId) .Summary(summary) .Start(start) .End(end) .Build(); }
/// <summary> /// Real-Time Scheduling example. /// </summary> private static void RealTimeSchedulingExample() { Console.Write("Enter Client id: "); var clientId = Console.ReadLine(); Console.Write("Enter Secret: "); var clientSecret = Console.ReadLine(); Console.Write("Enter Account id for availablity: "); var sub = Console.ReadLine(); Console.Write("Enter calendar id for availablity: "); var calendarId = Console.ReadLine(); string redirectUrl = "http://example.com/redirectUri"; string scope = "read_events create_event"; string eventId = "testEventId"; string summary = "Test Summary"; DateTimeOffset start = DateTime.Now; DateTimeOffset end = DateTime.Now + new TimeSpan(2, 0, 0); var client = new CronofyOAuthClient(clientId, clientSecret); var upsertEventRequest = new UpsertEventRequestBuilder() .EventId(eventId) .Summary(summary) .Build(); var availabilityRequest = new AvailabilityRequestBuilder() .AddParticipantGroup(new ParticipantGroupBuilder().AddMember(sub).AllRequired()) .AddAvailablePeriod(start, end) .RequiredDuration(60) .Build(); var request = new RealTimeSchedulingRequestBuilder() .OAuthDetails(redirectUrl, scope) .Timezone("Etc/UTC") .UpsertEventRequest(upsertEventRequest) .AvailabilityRequest(availabilityRequest) .AddTargetCalendar(sub, calendarId) .Build(); var actualUrl = client.RealTimeScheduling(request); Console.WriteLine(actualUrl); Process.Start(actualUrl); }
public void ExplicitDefaultDataCentre() { this.client = new CronofyOAuthClient(clientId, clientSecret, "us"); var authUrl = client.GetAuthorizationUrlBuilder(redirectUri).Build(); var expectedAuthUrl = string.Format( "https://app.cronofy.com/oauth/authorize" + "?client_id={0}" + "&response_type=code" + "&redirect_uri={1}" + "&scope=read_account%20read_events%20create_event%20delete_event", UrlBuilder.EncodeParameter(clientId), UrlBuilder.EncodeParameter(redirectUri)); Assert.AreEqual(expectedAuthUrl, authUrl); }
public void SetUp() { this.client = new CronofyOAuthClient(clientId, clientSecret); this.http = new StubHttpClient(); client.HttpClient = http; this.upsertEventRequestWithoutStartAndEnd = new UpsertEventRequestBuilder() .EventId(eventId) .Summary(summary) .Build(); this.availabilityRequest = new AvailabilityRequestBuilder() .AddParticipantGroup(new ParticipantGroupBuilder().AddMember(sub)) .AddAvailablePeriod(start, end) .RequiredDuration(60) .Build(); }
/// <summary> /// Add To Calendar example. /// </summary> private static void AddToCalendarExample() { Console.Write("Enter Client id: "); var clientId = Console.ReadLine(); Console.Write("Enter Secret: "); var clientSecret = Console.ReadLine(); string redirectUrl = "http://example.com/redirectUri"; string scope = "read_events create_event"; string eventId = "testEventId"; string summary = "Test Summary"; DateTimeOffset start = DateTime.Now; DateTimeOffset end = DateTime.Now + new TimeSpan(2, 0, 0); var client = new CronofyOAuthClient(clientId, clientSecret); var upsertEventRequest = new UpsertEventRequestBuilder() .EventId(eventId) .Summary(summary) .Start(start) .End(end) .Build(); var request = new AddToCalendarRequestBuilder() .OAuthDetails(redirectUrl, scope) .UpsertEventRequest(upsertEventRequest) .Build(); var actualUrl = client.AddToCalendar(request); Console.WriteLine(actualUrl); Process.Start(actualUrl); }
public void SetUp() { this.client = new CronofyOAuthClient(clientId, clientSecret); }
public GetAuthorizationUrl() { this.client = new CronofyOAuthClient(clientId, clientSecret); }
public void CanGetOAuthUrlWithAvailabilityTargetCalendarsAndHourFormat() { var start = new DateTime(2014, 8, 5, 15, 30, 0, DateTimeKind.Utc); var end = new DateTime(2014, 8, 5, 16, 30, 0, DateTimeKind.Utc); var client = new CronofyOAuthClient(clientId, clientSecret); var http = new StubHttpClient(); client.HttpClient = http; var upsertEventRequestWithoutStartAndEnd = new UpsertEventRequestBuilder() .EventId("testEventId") .Summary("Test Summary") .Build(); var sequenceBuilder = new SequenceRequestBuilder() .RequiredDuration(60) .Ordinal(1) .SequenceId("First Event") .Event(upsertEventRequestWithoutStartAndEnd) .AddRequiredParticipant("acc_567236000909002") .AddRequiredParticipant("acc_678347111010113"); var availabilityRequest = new SequencedAvailabilityRequestBuilder() .AddSequence(sequenceBuilder) .AddAvailablePeriod(start, end) .Build(); var expectedUrl = "http://test.com"; http.Stub( HttpPost .Url("https://api.cronofy.com/v1/real_time_sequencing") .JsonRequest(@" { ""availablity"":{ ""sequence"":[ { ""ordinal"":1, ""sequence_id"":""First Event"", ""event"":{ ""event_id"":""testEventId"", ""summary"":""Test Summary"" }, ""participants"":[ { ""members"":[ { ""sub"":""acc_567236000909002"" }, { ""sub"":""acc_678347111010113"" } ], ""required"":""all"" } ], ""required_duration"":{ ""minutes"":60 }, ""available_periods"":[ ] } ], ""available_periods"":[ { ""start"":""2014-08-05 15:30:00Z"", ""end"":""2014-08-05 16:30:00Z"" } ] }, ""client_id"":""abcdef123456"", ""client_secret"":""s3cr3t1v3"", ""oauth"":{ ""redirect_uri"":""http://example.com/redirectUri"", ""scope"":""test_scope"" }, ""event"":{ ""event_id"":""testEventId"", ""summary"":""Test Summary"" }, ""target_calendars"":[ { ""sub"":""sub"", ""calendar_id"":""calendarId"" } ], ""formatting"":{ ""hour_format"":""H"" }, ""tzid"":""Etc/UTC"" }") .ResponseCode(200) .ResponseBodyFormat("{{\"url\":\"{0}\"}}", expectedUrl) ); var request = new RealTimeSequencingRequestBuilder() .OAuthDetails("http://example.com/redirectUri", "test_scope") .Timezone("Etc/UTC") .UpsertEventRequest(upsertEventRequestWithoutStartAndEnd) .SequencedAvailabilityRequest(availabilityRequest) .AddTargetCalendar("sub", "calendarId") .HourFormat("H") .Build(); var actualUrl = client.RealTimeSequencing(request); Assert.AreEqual(expectedUrl, actualUrl); }