/// <summary> /// http://docs.intrinio.com/#securities /// Returns a list of security for a single ticker. We wrap default Intrinio behaviour to clear out the /// 'no match by identifier' case and make sure resultset is empty /// </summary> /// <param name="request"></param> /// <returns></returns> public GetSecuritiesDetailsByCompanyResponse GetSecuritiesDetailsByCompany(GetSecuritiesDetailsByCompany request) { var dirtyResponse = DirtyGetWhatever <GetSecuritiesDetailsByCompany, List <SecurityDetailDto> >(request); // Handle the weird case that an invalid identifier actually sends back data which was being parsed into an empty, nulled out object //if (response.data.Count == 1 && IntrinioClientUtils.IsAllNullOrEmpty(response.data.First())) return new GetSecuritiesDetailsByCompanyResponse(); if (dirtyResponse.Count == 1 && IntrinioClientUtils.IsAllNullOrEmpty(dirtyResponse.First())) { return(new GetSecuritiesDetailsByCompanyResponse()); } // Otherwise, return the reguarl response return(new GetSecuritiesDetailsByCompanyResponse { api_call_credits = 1, current_page = 1, data = dirtyResponse, result_count = dirtyResponse.Count, total_pages = 1 }); }
public void CanGetSecurityDetailsByTicker(string ticker, bool expectResults) { var request = new GetSecuritiesDetailsByCompany { identifier = ticker }; var requestUrl = request.ToGetUrl(); var response = ApiClient.GetSecuritiesDetailsByCompany(request); Assert.True((response.data.IsNullOrEmpty()) == !expectResults); if (!expectResults) { return; } foreach (var security in response.data) { Assert.True(security.ticker == request.identifier || ticker.IsNullOrEmpty()); } }