def test_valid(self): raw_data = load_response_file("error_response.json") parsed_data = ErrorResponse.parse_obj(raw_data) self.assertEqual( parsed_data.type, "https://stellar.org/horizon-errors/transaction_failed") self.assertEqual(parsed_data.title, "Transaction Failed") self.assertEqual(parsed_data.status, 400) self.assertEqual( parsed_data.detail, "The transaction failed when submitted to the stellar network. The `extras.result_codes` field on this response contains further details. Descriptions of each code can be found at: https://www.stellar.org/developers/guides/concepts/list-of-operations.html", ) self.assertTrue(isinstance(parsed_data.extras, dict))
def test_valid(self): raw_data = load_response_file("trade_aggregations_response.json") parsed_data = TradeAggregationsResponse.parse_obj(raw_data) self.assertEqual(len(parsed_data.embedded.records), 100) for record in parsed_data.embedded.records: self.assertTrue(isinstance(record, TradeAggregation)) self.assertEqual( parsed_data.links.self.href, "https://horizon.stellar.org/trade_aggregations?base_asset_type=credit_alphanum4&base_asset_code=BTC&base_asset_issuer=GATEMHCCKCY67ZUCKTROYN24ZYT5GK4EQZ65JJLDHKHRUZI3EUEKMTCH&counter_asset_type=native&resolution=60000&limit=100", ) self.assertEqual(parsed_data.links.self.templated, None) self.assertEqual( parsed_data.links.next.href, "https://horizon.stellar.org/trade_aggregations?base_asset_code=BTC&base_asset_issuer=GATEMHCCKCY67ZUCKTROYN24ZYT5GK4EQZ65JJLDHKHRUZI3EUEKMTCH&base_asset_type=credit_alphanum4&counter_asset_type=native&limit=100&resolution=60000&start_time=0", ) self.assertEqual(parsed_data.links.next.templated, None) self.assertEqual(parsed_data.links.prev.href, "") self.assertEqual(parsed_data.links.prev.templated, None)
def test_valid(self): raw_data = load_response_file("offers_response.json") parsed_data = OffersResponse.parse_obj(raw_data) self.assertEqual(len(parsed_data.embedded.records), 20) for record in parsed_data.embedded.records: self.assertTrue(isinstance(record, Offer)) self.assertEqual( parsed_data.links.self.href, "https://horizon.stellar.org/offers?cursor=&limit=20&order=desc", ) self.assertEqual(parsed_data.links.self.templated, None) self.assertEqual( parsed_data.links.next.href, "https://horizon.stellar.org/offers?cursor=546459297&limit=20&order=desc", ) self.assertEqual(parsed_data.links.next.templated, None) self.assertEqual( parsed_data.links.prev.href, "https://horizon.stellar.org/offers?cursor=546459316&limit=20&order=asc", ) self.assertEqual(parsed_data.links.prev.templated, None)
def test_valid(self): raw_data = load_response_file("trades_response.json") parsed_data = TradesResponse.parse_obj(raw_data) self.assertEqual(len(parsed_data.embedded.records), 100) for record in parsed_data.embedded.records: self.assertTrue(isinstance(record, Trade)) self.assertEqual( parsed_data.links.self.href, "https://horizon.stellar.org/trades?base_asset_type=native&counter_asset_code=BTC&counter_asset_issuer=GATEMHCCKCY67ZUCKTROYN24ZYT5GK4EQZ65JJLDHKHRUZI3EUEKMTCH&counter_asset_type=credit_alphanum4&cursor=&limit=100&order=desc", ) self.assertEqual(parsed_data.links.self.templated, None) self.assertEqual( parsed_data.links.next.href, "https://horizon.stellar.org/trades?base_asset_type=native&counter_asset_code=BTC&counter_asset_issuer=GATEMHCCKCY67ZUCKTROYN24ZYT5GK4EQZ65JJLDHKHRUZI3EUEKMTCH&counter_asset_type=credit_alphanum4&cursor=148329556015616001-3&limit=100&order=desc", ) self.assertEqual(parsed_data.links.next.templated, None) self.assertEqual( parsed_data.links.prev.href, "https://horizon.stellar.org/trades?base_asset_type=native&counter_asset_code=BTC&counter_asset_issuer=GATEMHCCKCY67ZUCKTROYN24ZYT5GK4EQZ65JJLDHKHRUZI3EUEKMTCH&counter_asset_type=credit_alphanum4&cursor=150716462615965697-0&limit=100&order=asc", ) self.assertEqual(parsed_data.links.prev.templated, None)
def test_valid(self): raw_data = load_response_file("transactions_response.json") parsed_data = TransactionsResponse.parse_obj(raw_data) self.assertEqual(len(parsed_data.embedded.records), 100) for record in parsed_data.embedded.records: self.assertTrue(isinstance(record, Transaction)) self.assertEqual( parsed_data.links.self.href, "https://horizon.stellar.org/transactions?cursor=&include_failed=true&limit=100&order=desc", ) self.assertEqual(parsed_data.links.self.templated, None) self.assertEqual( parsed_data.links.next.href, "https://horizon.stellar.org/transactions?cursor=150723639505981440&include_failed=true&limit=100&order=desc", ) self.assertEqual(parsed_data.links.next.templated, None) self.assertEqual( parsed_data.links.prev.href, "https://horizon.stellar.org/transactions?cursor=150723643801051136&include_failed=true&limit=100&order=asc", ) self.assertEqual(parsed_data.links.prev.templated, None)
def test_valid(self): raw_data = load_response_file("ledgers_response.json") parsed_data = LedgersResponse.parse_obj(raw_data) self.assertEqual(len(parsed_data.embedded.records), 20) for record in parsed_data.embedded.records: self.assertTrue(isinstance(record, Ledger)) self.assertEqual( parsed_data.links.self.href, "https://horizon.stellar.org/ledgers?cursor=&limit=20&order=desc", ) self.assertEqual(parsed_data.links.self.templated, None) self.assertEqual( parsed_data.links.next.href, "https://horizon.stellar.org/ledgers?cursor=150721238619127808&limit=20&order=desc", ) self.assertEqual(parsed_data.links.next.templated, None) self.assertEqual( parsed_data.links.prev.href, "https://horizon.stellar.org/ledgers?cursor=150721320223506432&limit=20&order=asc", ) self.assertEqual(parsed_data.links.prev.templated, None)
def test_valid(self): raw_data = load_response_file("liquidity_pools_response.json") parsed_data = LiquidityPoolsResponse.parse_obj(raw_data) self.assertEqual(len(parsed_data.embedded.records), 10) for record in parsed_data.embedded.records: self.assertTrue(isinstance(record, LiquidityPool)) self.assertEqual( parsed_data.links.self.href, "https://horizon-testnet.stellar.org/liquidity_pools?cursor=&limit=10&order=asc", ) self.assertEqual(parsed_data.links.self.templated, None) self.assertEqual( parsed_data.links.next.href, "https://horizon-testnet.stellar.org/liquidity_pools?cursor=82eba905e0403a7a01212d1ae3db7f3dcbabe00ad303800ec8a86e688ffee888&limit=10&order=asc", ) self.assertEqual(parsed_data.links.next.templated, None) self.assertEqual( parsed_data.links.prev.href, "https://horizon-testnet.stellar.org/liquidity_pools?cursor=2389378a6156eedfac66daa000d24c926431c3e667b9f754771964f27a6da6ab&limit=10&order=desc", ) self.assertEqual(parsed_data.links.prev.templated, None)
def test_valid(self): raw_data = load_response_file("accounts_response.json") parsed_data = AccountsResponse.parse_obj(raw_data) self.assertEqual(len(parsed_data.embedded.records), 10) for record in parsed_data.embedded.records: self.assertTrue(isinstance(record, Account)) self.assertEqual( parsed_data.links.self.href, "https://horizon.stellar.org/accounts/?asset=BTC%3AGATEMHCCKCY67ZUCKTROYN24ZYT5GK4EQZ65JJLDHKHRUZI3EUEKMTCH&cursor=&limit=10&order=desc", ) self.assertEqual(parsed_data.links.self.templated, None) self.assertEqual( parsed_data.links.next.href, "https://horizon.stellar.org/accounts/?asset=BTC%3AGATEMHCCKCY67ZUCKTROYN24ZYT5GK4EQZ65JJLDHKHRUZI3EUEKMTCH&cursor=GDZVWAFA4RN2YPFHPPF4BNL2OHONAPJLYMSEIHJBNJFMYOAGFRTFM2J4&limit=10&order=desc", ) self.assertEqual(parsed_data.links.next.templated, None) self.assertEqual( parsed_data.links.prev.href, "https://horizon.stellar.org/accounts/?asset=BTC%3AGATEMHCCKCY67ZUCKTROYN24ZYT5GK4EQZ65JJLDHKHRUZI3EUEKMTCH&cursor=GDZZN7FHZUJ356OAGDPXAF5NYY7N3NCQG65NCMNVOX2PSW4AD4VISEBY&limit=10&order=asc", ) self.assertEqual(parsed_data.links.prev.templated, None)
def test_valid(self): raw_data = load_response_file("effects_response.json") parsed_data = EffectsResponse.parse_obj(raw_data) self.assertEqual(len(parsed_data.embedded.records), 200) for record in parsed_data.embedded.records: self.assertTrue(isinstance(record, BaseEffect)) self.assertEqual( parsed_data.links.self.href, "https://horizon.stellar.org/effects?cursor=&limit=200&order=desc", ) self.assertEqual(parsed_data.links.self.templated, None) self.assertEqual( parsed_data.links.next.href, "https://horizon.stellar.org/effects?cursor=151484153660260353-1&limit=200&order=desc", ) self.assertEqual(parsed_data.links.next.templated, None) self.assertEqual( parsed_data.links.prev.href, "https://horizon.stellar.org/effects?cursor=151484175135092737-1&limit=200&order=asc", ) self.assertEqual(parsed_data.links.prev.templated, None)
def test_valid(self): raw_data = load_response_file("payments_response.json") parsed_data = PaymentsResponse.parse_obj(raw_data) self.assertEqual(len(parsed_data.embedded.records), 100) for record in parsed_data.embedded.records: self.assertTrue(record.type in payment_ops) class_type = payment_ops[record.type] self.assertTrue(isinstance(record, class_type), record) self.assertEqual( parsed_data.links.self.href, "https://horizon.stellar.org/payments?cursor=&limit=100&order=desc", ) self.assertEqual(parsed_data.links.self.templated, None) self.assertEqual( parsed_data.links.next.href, "https://horizon.stellar.org/payments?cursor=150721723950796801&limit=100&order=desc", ) self.assertEqual(parsed_data.links.next.templated, None) self.assertEqual( parsed_data.links.prev.href, "https://horizon.stellar.org/payments?cursor=150721758310514689&limit=100&order=asc", ) self.assertEqual(parsed_data.links.prev.templated, None)
def test_valid(self): raw_data = load_response_file("operations_response.json") parsed_data = OperationsResponse.parse_obj(raw_data) self.assertEqual(len(parsed_data.embedded.records), 18) for record in parsed_data.embedded.records: self.assertTrue(record.type in ops) class_type = ops[record.type] self.assertTrue(isinstance(record, class_type)) self.assertEqual( parsed_data.links.self.href, "https://horizon.stellar.org/operations?cursor=&include_failed=true&limit=1&order=desc", ) self.assertEqual(parsed_data.links.self.templated, None) self.assertEqual( parsed_data.links.next.href, "https://horizon.stellar.org/operations?cursor=150724090477830145&include_failed=true&limit=1&order=desc", ) self.assertEqual(parsed_data.links.next.templated, None) self.assertEqual( parsed_data.links.prev.href, "https://horizon.stellar.org/operations?cursor=150724090477830145&include_failed=true&limit=1&order=asc", ) self.assertEqual(parsed_data.links.prev.templated, None)
def test_valid(self): raw_data = load_response_file("paths_response.json") parsed_data = PathsResponse.parse_obj(raw_data) self.assertEqual(len(parsed_data.embedded.records), 5) for record in parsed_data.embedded.records: self.assertTrue(isinstance(record, Path))
def test_valid(self): raw_data = load_response_file("order_book_response.json") parsed_data = OrderBookResponse.parse_obj(raw_data) self.assertTrue(isinstance(parsed_data, OrderBookResponse)) self.assertTrue(isinstance(parsed_data, OrderBookSummary))