/// <summary> /// Calls the API and gets the results /// </summary> /// <typeparam name="TResult"></typeparam> /// <param name="httpClient"></param> /// <returns></returns> public Task <IEnumerable <TResult> > Call <TResult>(HttpClient httpClient) where TResult : new() { if (query is null) { throw new Exception("No query provided"); } if (httpClient is null) { throw new ArgumentNullException(nameof(httpClient)); } httpClient.BaseAddress = igdbConfiguration.IgdbUrl; if (httpClient.DefaultRequestHeaders.Contains(UserKeyHeaderName)) { httpClient.DefaultRequestHeaders.Remove(UserKeyHeaderName); } httpClient.DefaultRequestHeaders.Add(UserKeyHeaderName, igdbConfiguration.UserToken); var builder = new RequestBuilder <T>(new Apicalypse.DotNet.Configuration.RequestBuilderConfiguration { CaseContract = Apicalypse.DotNet.Configuration.CaseContract.SnakeCase }); query.Invoke(builder); return(builder.Build().Send <TResult>(httpClient, EndpointMapper.Map <T>())); }
public void EndpointMapper_MapsEndpointsAsExpected() { Assert.AreEqual("reports/current_totals", EndpointMapper.GetEndpoint(EndpointName.CurrentTotalsReports)); Assert.AreEqual("current_user", EndpointMapper.GetEndpoint(EndpointName.CurrentUser)); Assert.AreEqual("customfields", EndpointMapper.GetEndpoint(EndpointName.CustomFields)); Assert.AreEqual("customfielditems", EndpointMapper.GetEndpoint(EndpointName.CustomFieldItems)); Assert.AreEqual("customfielditem_filters", EndpointMapper.GetEndpoint(EndpointName.CustomFieldItemFilters)); Assert.AreEqual("customfielditem_jobcode_filters", EndpointMapper.GetEndpoint(EndpointName.CustomFieldItemJobcodeFilters)); Assert.AreEqual("customfielditem_user_filters", EndpointMapper.GetEndpoint(EndpointName.CustomFieldItemUserFilters)); Assert.AreEqual("effective_settings", EndpointMapper.GetEndpoint(EndpointName.EffectiveSettings)); Assert.AreEqual("files", EndpointMapper.GetEndpoint(EndpointName.Files)); Assert.AreEqual("files/raw", EndpointMapper.GetEndpoint(EndpointName.FilesRaw)); Assert.AreEqual("geofence_configs", EndpointMapper.GetEndpoint(EndpointName.GeofenceConfigs)); Assert.AreEqual("geolocations", EndpointMapper.GetEndpoint(EndpointName.Geolocations)); Assert.AreEqual("groups", EndpointMapper.GetEndpoint(EndpointName.Groups)); Assert.AreEqual("invitations", EndpointMapper.GetEndpoint(EndpointName.Invitations)); Assert.AreEqual("jobcodes", EndpointMapper.GetEndpoint(EndpointName.Jobcodes)); Assert.AreEqual("jobcode_assignments", EndpointMapper.GetEndpoint(EndpointName.JobcodeAssignments)); Assert.AreEqual("last_modified_timestamps", EndpointMapper.GetEndpoint(EndpointName.LastModifiedTimestamps)); Assert.AreEqual("locations", EndpointMapper.GetEndpoint(EndpointName.Locations)); Assert.AreEqual("locations_map", EndpointMapper.GetEndpoint(EndpointName.LocationsMaps)); Assert.AreEqual("managed_clients", EndpointMapper.GetEndpoint(EndpointName.ManagedClients)); Assert.AreEqual("notifications", EndpointMapper.GetEndpoint(EndpointName.Notifications)); Assert.AreEqual("reports/payroll", EndpointMapper.GetEndpoint(EndpointName.PayrollReports)); Assert.AreEqual("reports/payroll_by_jobcode", EndpointMapper.GetEndpoint(EndpointName.PayrollByJobcodeReports)); Assert.AreEqual("reports/project", EndpointMapper.GetEndpoint(EndpointName.ProjectReports)); Assert.AreEqual("reminders", EndpointMapper.GetEndpoint(EndpointName.Reminders)); Assert.AreEqual("schedule_calendars", EndpointMapper.GetEndpoint(EndpointName.ScheduleCalendars)); Assert.AreEqual("schedule_events", EndpointMapper.GetEndpoint(EndpointName.ScheduleEvents)); Assert.AreEqual("timesheets", EndpointMapper.GetEndpoint(EndpointName.Timesheets)); Assert.AreEqual("timesheets_deleted", EndpointMapper.GetEndpoint(EndpointName.TimesheetsDeleted)); Assert.AreEqual("users", EndpointMapper.GetEndpoint(EndpointName.Users)); }
public void RpcLocalPipe_UriLocal() { var endpointBinding = new EndpointBindingInfo(RpcProtseq.ncalrpc, null, "test"); var wcf = EndpointMapper.RpcToWcf(endpointBinding); Assert.AreEqual("ipc:///test", wcf); }
public void RpcNamedPipe_WcfNamedPipe() { var endpointBinding = new EndpointBindingInfo(RpcProtseq.ncacn_np, "127.0.0.1", "test"); var wcf = EndpointMapper.RpcToWcf(endpointBinding); Assert.AreEqual("net.pipe://127.0.0.1/test", wcf); }
public void WcfNamedPipe_RpcNamedPipe() { string wcf = "net.pipe://127.0.0.1/1/test.test/test"; var rpc = EndpointMapper.WcfToRpc(wcf); Assert.AreEqual(@"127.0.0.1", rpc.NetworkAddr); Assert.AreEqual(@"\pipe\1\test.test\test", rpc.EndPoint); }
public void UriLocal_RpcLocal() { string wcf = "ipc:///1/test.test/test"; var rpc = EndpointMapper.WcfToRpc(wcf); Assert.AreEqual(null, rpc.NetworkAddr); Assert.AreEqual(@"1/test.test/test", rpc.EndPoint); }
public void WcfTcp_RpcTcp() { string wcf = "net.tcp://127.0.0.1:666"; var rpc = EndpointMapper.WcfToRpc(wcf); Assert.AreEqual(@"127.0.0.1", rpc.NetworkAddr); Assert.AreEqual(@"666", rpc.EndPoint); }
public void should_map_to_kinly_endpoint_dto() { var ep = new Endpoint("Displayname", "sip", "pin", "*****@*****.**"); var dto = EndpointMapper.MapToEndpoint(ep); dto.Id.Should().Be(ep.Id); dto.Pin.Should().Be(ep.Pin); dto.DisplayName.Should().Be(ep.DisplayName); dto.SipAddress.Should().Be(ep.SipAddress); }
private Uri CreateRequestUri(EndpointName endpointName, Dictionary <string, string> filters = null) { string endpointSegment = EndpointMapper.GetEndpoint(endpointName); Uri fullUri = new Uri($"{this.context.ConnectionInfo.BaseUri}/{endpointSegment}"); return(filters?.Count > 0 ? new UriBuilder(fullUri) { Query = filters.ToUrlQueryString() }.Uri : fullUri); }