Skip to content

Commit

Permalink
Implement rest endpoints check (#77)
Browse files Browse the repository at this point in the history
* Replace hardcoded urls

* add EndpointCheck class

* Make dateFormat public property and Implemet CoinApiEndpointTester

* Move Endpoint Tester to V1 project
  • Loading branch information
szalanski authored Sep 21, 2020
1 parent 3e32d81 commit f1c3c8c
Show file tree
Hide file tree
Showing 6 changed files with 511 additions and 93 deletions.
139 changes: 110 additions & 29 deletions data-api/csharp-rest/CoinAPI.REST.V1.Example/Program.cs
Original file line number Diff line number Diff line change
Expand Up @@ -10,26 +10,29 @@ namespace CoinAPI.REST.V1.Example
class Program
{
static void Main(string[] args)
{
var coinApi = new CoinApiRestClient("4FAB4B58-9D8F-4CFF-9FB3-83833109584E");
{
var coinApiEndpointTester = new CoinApiRestEndpointsTester("4FAB4B58-9D8F-4CFF-9FB3-83833109584E")
{
Log = s => Console.WriteLine(s)
};

Console.WriteLine("Assets with icons");
var assetsIcons = coinApi.Metadata_list_assets_iconsAsync(32).Result;
var assetsIcons = coinApiEndpointTester.Metadata_list_assets_icons(32).Data;
foreach (var assetIcon in assetsIcons)
{
Console.WriteLine($"asset id = {assetIcon.asset_id} iconUrl = {assetIcon.url}");
}

Console.WriteLine("Exchanges with icons");
var exhcangesIcons = coinApi.Metadata_list_exchanges_iconsAsync(32).Result;
var exhcangesIcons = coinApiEndpointTester.Metadata_list_exchanges_icons(32).Data;
foreach(var exchaingeIcon in exhcangesIcons)
{
Console.WriteLine($"exchange id = {exchaingeIcon.exchange_id} iconUrl = {exchaingeIcon.url}");
}

Console.Write("Exchange:");
Console.Write(Environment.NewLine);
var exchange = coinApi.Metadata_list_exchangesAsync().Result;
var exchange = coinApiEndpointTester.Metadata_list_exchanges().Data;
foreach (var item in exchange)
{
Console.Write("exchange_id:" + item.exchange_id);
Expand Down Expand Up @@ -104,7 +107,7 @@ static void Main(string[] args)

Console.Write("Asset:");
Console.Write(Environment.NewLine);
var assets = coinApi.Metadata_list_assetsAsync().Result;
var assets = coinApiEndpointTester.Metadata_list_assets().Data;
foreach (var item in assets)
{
Console.Write("asset_id:" + item.asset_id);
Expand All @@ -123,7 +126,7 @@ static void Main(string[] args)

Console.Write("Exchangerate:");
Console.Write(Environment.NewLine);
var exchange_rate = coinApi.Exchange_rates_get_specific_rateAsync("BTC", "USD").Result;
var exchange_rate = coinApiEndpointTester.Exchange_rates_get_specific_rate("BTC", "USD").Data;

Console.Write("time:" + exchange_rate.time);
Console.Write(Environment.NewLine);
Expand All @@ -139,7 +142,7 @@ static void Main(string[] args)
Console.Write("Exchangerate Last Week:");
Console.Write(Environment.NewLine);
var lastweek = DateTime.Now.AddDays(-7);
var exchange_rate_last_week = coinApi.Exchange_rates_get_specific_rateAsync("BTC", "USD", lastweek).Result;
var exchange_rate_last_week = coinApiEndpointTester.Exchange_rates_get_specific_rate("BTC", "USD", lastweek).Data;
Console.Write("time:" + exchange_rate_last_week.time);
Console.Write(Environment.NewLine);
Console.Write("asset_id_base:" + exchange_rate_last_week.asset_id_base);
Expand All @@ -152,8 +155,8 @@ static void Main(string[] args)
Console.Write(Environment.NewLine);

Console.Write("Exchangerate current rates:");
Console.Write(Environment.NewLine);
var current_rates = coinApi.Exchange_rates_get_all_current_ratesAsync("BTC").Result;
Console.Write(Environment.NewLine);
var current_rates = coinApiEndpointTester.Exchange_rates_get_all_current_rates("BTC").Data;

Console.Write("Asset ID Base:" + current_rates.asset_id_base);
Console.Write(Environment.NewLine);
Expand All @@ -171,7 +174,7 @@ static void Main(string[] args)

Console.Write("Ohlcv list all periods:");
Console.Write(Environment.NewLine);
var periods = coinApi.Ohlcv_list_all_periodsAsync().Result;
var periods = coinApiEndpointTester.Ohlcv_list_all_periods().Data;
foreach (var item in periods)
{
Console.Write("period_id:" + item.period_id);
Expand All @@ -189,11 +192,10 @@ static void Main(string[] args)
Console.Write("--------------------------------------------------------------------------------------------------------");
Console.Write(Environment.NewLine);
}

var symbolId = "BITSTAMP_SPOT_BTC_USD";
Console.Write("Ohlcv latest data:");
Console.Write(Environment.NewLine);
var ohlcv_latest = coinApi.Ohlcv_latest_dataAsync("BITSTAMP_SPOT_BTC_USD", "1MIN").Result;

Console.Write(Environment.NewLine);
var ohlcv_latest = coinApiEndpointTester.Ohlcv_latest_data(symbolId, "1MIN").Data;
foreach (var item in ohlcv_latest)
{
Console.Write("time_period_start:" + item.time_period_start);
Expand Down Expand Up @@ -223,7 +225,7 @@ static void Main(string[] args)
Console.Write("Ohlcv last year:");
Console.Write(Environment.NewLine);
var start_of_2016 = new DateTime(2016, 1, 1);
var ohlcv_historical = coinApi.Ohlcv_historical_dataAsync("BITSTAMP_SPOT_BTC_USD", "1MIN", start_of_2016).Result;
var ohlcv_historical = coinApiEndpointTester.Ohlcv_historical_data(symbolId, "1MIN", start_of_2016).Data;
foreach (var item in ohlcv_historical)
{
Console.Write("time_period_start:" + item.time_period_start);
Expand Down Expand Up @@ -252,7 +254,7 @@ static void Main(string[] args)

Console.Write("Trades latest data all:");
Console.Write(Environment.NewLine);
var latest_trades = coinApi.Trades_latest_data_allAsync().Result;
var latest_trades = coinApiEndpointTester.Trades_latest_data_all().Data;

foreach (var item in latest_trades)
{
Expand All @@ -276,7 +278,7 @@ static void Main(string[] args)

Console.Write("Trades latest data symbol:");
Console.Write(Environment.NewLine);
var latest_trades_doge = coinApi.Trades_latest_data_symbolAsync("BITSTAMP_SPOT_BTC_USD").Result;
var latest_trades_doge = coinApiEndpointTester.Trades_latest_data_symbol(symbolId).Data;
foreach (var item in latest_trades_doge)
{
Console.Write("symbol_id:" + item.symbol_id);
Expand All @@ -299,7 +301,7 @@ static void Main(string[] args)

Console.Write("Trades historical data:");
Console.Write(Environment.NewLine);
var historical_trades_btc = coinApi.Trades_historical_dataAsync("BITSTAMP_SPOT_BTC_USD", start_of_2016).Result;
var historical_trades_btc = coinApiEndpointTester.Trades_historical_data(symbolId, start_of_2016).Data;
foreach (var item in historical_trades_btc)
{
Console.Write("symbol_id:" + item.symbol_id);
Expand All @@ -321,7 +323,7 @@ static void Main(string[] args)
}
Console.Write("Quotes current data all:");
Console.Write(Environment.NewLine);
var current_quotes = coinApi.Quotes_current_data_allAsync().Result;
var current_quotes = coinApiEndpointTester.Quotes_current_data_all().Data;
foreach (var item in current_quotes)
{
Console.Write("symbol_id:" + item.symbol_id);
Expand All @@ -345,7 +347,7 @@ static void Main(string[] args)
}
Console.Write("Quotes current data symbol:");
Console.Write(Environment.NewLine);
var current_quote_btc_usd = coinApi.Quotes_current_data_symbolAsync("BITSTAMP_SPOT_BTC_USD").Result;
var current_quote_btc_usd = coinApiEndpointTester.Quotes_current_data_symbol(symbolId).Data;

Console.Write("symbol_id:" + current_quote_btc_usd.symbol_id);
Console.Write(Environment.NewLine);
Expand Down Expand Up @@ -385,7 +387,7 @@ static void Main(string[] args)

Console.Write("Quotes latest data all:");
Console.Write(Environment.NewLine);
var quotes_latest_data = coinApi.Quotes_latest_data_allAsync().Result;
var quotes_latest_data = coinApiEndpointTester.Quotes_latest_data_all().Data;
foreach (var item in quotes_latest_data)
{
Console.Write("symbol_id:" + item.symbol_id);
Expand All @@ -407,7 +409,7 @@ static void Main(string[] args)
}
Console.Write("Quotes latest data symbol:");
Console.Write(Environment.NewLine);
var quotes_latest_data_btc_usd = coinApi.Quotes_latest_data_symbolAsync("BITSTAMP_SPOT_BTC_USD").Result;
var quotes_latest_data_btc_usd = coinApiEndpointTester.Quotes_latest_data_symbol(symbolId).Data;
foreach (var item in quotes_latest_data_btc_usd)
{
Console.Write("symbol_id:" + item.symbol_id);
Expand All @@ -429,7 +431,7 @@ static void Main(string[] args)
}
Console.Write("Quotes historical data:");
Console.Write(Environment.NewLine);
var quotes_historical_data_btc_usd = coinApi.Quotes_historical_dataAsync("BITSTAMP_SPOT_BTC_USD", start_of_2016).Result;
var quotes_historical_data_btc_usd = coinApiEndpointTester.Quotes_historical_data(symbolId, start_of_2016).Data;
foreach (var item in quotes_historical_data_btc_usd)
{
Console.Write("symbol_id:" + item.symbol_id);
Expand All @@ -451,7 +453,7 @@ static void Main(string[] args)
}
Console.Write("Orderbooks current data all:");
Console.Write(Environment.NewLine);
var orderbooks_current_data = coinApi.Orderbooks_current_data_all_filtered_bitstampAsync().Result;
var orderbooks_current_data = coinApiEndpointTester.Orderbooks_current_data_all_filtered_bitstamp().Data;
foreach (var item in orderbooks_current_data)
{
Console.Write("symbol_id:" + item.symbol_id);
Expand Down Expand Up @@ -488,7 +490,7 @@ static void Main(string[] args)

Console.Write("Orderbooks current data symbol:");
Console.Write(Environment.NewLine);
var orderbooks_current_data_btc_usd = coinApi.Orderbooks_current_data_symbolAsync("BITSTAMP_SPOT_BTC_USD").Result;
var orderbooks_current_data_btc_usd = coinApiEndpointTester.Orderbooks_current_data_symbol(symbolId).Data;
Console.Write("symbol_id:" + orderbooks_current_data_btc_usd.symbol_id);
Console.Write(Environment.NewLine);
Console.Write("time_exchange:" + orderbooks_current_data_btc_usd.time_exchange);
Expand Down Expand Up @@ -522,7 +524,7 @@ static void Main(string[] args)

Console.Write("Orderbooks last data:");
Console.Write(Environment.NewLine);
var orderbooks_latest_data_btc_usd = coinApi.Orderbooks_last_dataAsync("BITSTAMP_SPOT_BTC_USD").Result;
var orderbooks_latest_data_btc_usd = coinApiEndpointTester.Orderbooks_last_data(symbolId).Data;
foreach (var item in orderbooks_latest_data_btc_usd)
{
Console.Write("symbol_id:" + item.symbol_id);
Expand Down Expand Up @@ -559,7 +561,7 @@ static void Main(string[] args)

Console.Write("Orderbooks historical data:");
Console.Write(Environment.NewLine);
var orderbooks_historical_data_btc_usd = coinApi.Orderbooks_historical_dataAsync("BITSTAMP_SPOT_BTC_USD", start_of_2016).Result;
var orderbooks_historical_data_btc_usd = coinApiEndpointTester.Orderbooks_historical_data(symbolId, start_of_2016).Data;
foreach (var item in orderbooks_historical_data_btc_usd)
{
Console.Write("symbol_id:" + item.symbol_id);
Expand Down Expand Up @@ -594,6 +596,85 @@ static void Main(string[] args)
Console.Write(Environment.NewLine);
}

Console.Write("Orderbooks level 3 current data all:");
Console.Write(Environment.NewLine);
var orderbooks3_current_data = coinApi.Orderbooks3_current_data_all_filtered_bitstamp();
foreach (var item in orderbooks3_current_data)
{
Console.Write("symbol_id:" + item.symbol_id);
Console.Write(Environment.NewLine);
Console.Write("time_exchange:" + item.time_exchange);
Console.Write(Environment.NewLine);
Console.Write("time_coinapi:" + item.time_coinapi);
Console.Write(Environment.NewLine);

Console.Write("Asks:");
Console.Write(Environment.NewLine);
foreach (var itm in item.asks)
{
Console.Write("id:" + itm.id);
Console.Write(Environment.NewLine);
Console.Write("price:" + itm.price);
Console.Write(Environment.NewLine);
Console.Write("size:" + itm.size);
Console.Write(Environment.NewLine);

}
Console.Write("Bids:");
Console.Write(Environment.NewLine);
foreach (var itm in item.bids)
{
Console.Write("id:" + itm.id);
Console.Write(Environment.NewLine);
Console.Write("price:" + itm.price);
Console.Write(Environment.NewLine);
Console.Write("size:" + itm.size);
Console.Write(Environment.NewLine);

}

Console.Write("--------------------------------------------------------------------------------------------------------");
Console.Write(Environment.NewLine);
}

Console.Write("Orderbooks level 3 current data symbol:");
Console.Write(Environment.NewLine);
var orderbooks3_current_data_btc_usd = coinApi.Orderbooks3_current_data_symbol("BITSTAMP_SPOT_BTC_USD");
Console.Write("symbol_id:" + orderbooks3_current_data_btc_usd.symbol_id);
Console.Write(Environment.NewLine);
Console.Write("time_exchange:" + orderbooks3_current_data_btc_usd.time_exchange);
Console.Write(Environment.NewLine);
Console.Write("time_coinapi:" + orderbooks3_current_data_btc_usd.time_coinapi);
Console.Write(Environment.NewLine);

Console.Write("Asks:");
Console.Write(Environment.NewLine);
foreach (var itm in orderbooks3_current_data_btc_usd.asks)
{
Console.Write("id:" + itm.id);
Console.Write(Environment.NewLine);
Console.Write("price:" + itm.price);
Console.Write(Environment.NewLine);
Console.Write("size:" + itm.size);
Console.Write(Environment.NewLine);

}
Console.Write("Bids:");
Console.Write(Environment.NewLine);
foreach (var itm in orderbooks3_current_data_btc_usd.bids)
{
Console.Write("id:" + itm.id);
Console.Write(Environment.NewLine);
Console.Write("price:" + itm.price);
Console.Write(Environment.NewLine);
Console.Write("size:" + itm.size);
Console.Write(Environment.NewLine);
}

Console.Write("--------------------------------------------------------------------------------------------------------");
Console.Write(Environment.NewLine);


Console.WriteLine("=== END ===");
Console.ReadLine();
}
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
namespace CoinAPI.REST.V1.Example
{
public enum CoinApiCheckStatusCode
{
GoodResponse = 1,
BadData = 2,
ExceptionThrown = 3
}
}
Loading

0 comments on commit f1c3c8c

Please sign in to comment.