def test_get(self): """ 检查返回正确的token数据 """ request = ConfigRequest() languages = ["cn", "en"] ONE_HOUR = 3600 for lang in languages: params = {"lang": lang} request.set_params(params) request.set_url(news_api) response = request.get() tokens_amount = len(response) self.assertEqual(tokens_amount, 50) last_news_time = response[0].get("create_time") last_news_time = datetime.datetime.strptime( last_news_time, "%Y-%m-%dT%H:%M:%S.%fZ") now = datetime.datetime.utcnow() timedelta = now - last_news_time # The last news was updated recently print("Last news was updated at {}, now {}".format( last_news_time, now)) self.assertLess(timedelta.seconds, ONE_HOUR)
def rankings_change(self, url): request = ConfigRequest() request.set_url(url) # Descending request.set_params({"sort": "desc", "limit": 10}) response = request.get() # return 10 tokens self.assertEqual(len(response), 10) for token in response: self.assertNotEqual(token.get("cmc_change_ratio"), None) self.assertNotEqual(token.get("cmc_price_usd"), None) self.assertNotEqual(token.get("name"), None) # Ascending request.set_params({"sort": "asc", "limit": 10}) response = request.get() # return 10 tokens self.assertEqual(len(response), 10) for token in response: self.assertNotEqual(token.get("cmc_change_ratio"), None) self.assertNotEqual(token.get("cmc_price_usd"), None) self.assertNotEqual(token.get("name"), None)
def test_rankings_change(self): api = config.get_url("homepage_sort") request = ConfigRequest() l_sort_direction = ["asc", "desc"] l_sort_item = [ "cmc_volume_usd", "chain_new_user_count_7day", "git_commit_count_7day", "git_commit_count_30day", "git_contributor_count", "market_cap_usd", "twitter_follower_count" ] for direction in l_sort_direction: for item in l_sort_item: params = { "skip": 0, "limit": 20, "sort": "{} {}".format(item, direction) } request.set_url(api) request.set_params(params) response = request.get() # return 20 tokens self.assertEqual(len(response), 20) for token in response: self.assertNotEqual(token.get("name"), None) self.assertNotEqual(token.get("name_abbr"), None) self.assertNotEqual(token.get("cmc_market_cap_usd"), None) self.assertNotEqual(token.get("cmc_price_usd"), None) self.assertNotEqual(token.get("cmc_volume_usd"), None)
def test_rankings_volume_24h(self): api = "/api/v1/home/ranking/volume_24h" request = ConfigRequest() request.set_url(api) request.set_params({"sort": "desc", "limit": 10}) response = request.get() # return 10 tokens self.assertEqual(len(response), 10) for token in response: self.assertNotEqual(token.get("cmc_volume_usd"), None) self.assertNotEqual(token.get("name"), None)
def test_examine(self): """ 检查返回正确examine结果 """ # get login token api_login = config.get_url("Login") request_sign_in = ConfigRequest() data = { "mobile": config.get_login("Mobile"), "valid": config.get_login("Valid") } request_sign_in.set_data(data) request_sign_in.set_url(api_login) response_sign_in = request_sign_in.post() self.assertNotEqual(response_sign_in, None) self.assertNotEqual(response_sign_in.get("token"), None) # get examine result api_examine = config.get_url("examine") token = response_sign_in.get("token") headers = {"Authorization": "Bearer {}".format(token)} params_examine = {"type": "examine"} params_share = {"type": "share"} request_examine = ConfigRequest() request_examine.set_headers(headers) request_examine.set_params(params_share) request_examine.set_url(api_examine) response_examine = request_examine.get() count = response_examine.get("examine_status").get("count") # Ur examine count will add 1 time if u share request_examine.get() request_examine.get() response_examine = request_examine.get() count += 3 self.assertEqual( response_examine.get("examine_status").get("count"), count) # ur examine count will reduce 1 time if u examine for c in range(1, count + 1): request_examine = ConfigRequest() request_examine.set_headers(headers) request_examine.set_params(params_examine) request_examine.set_url(api_examine) response_examine = request_examine.get() self.assertEqual( response_examine.get("examine_status").get("count"), count - c) self.assertEqual(response_examine.get("hasExamine"), True) request_examine = ConfigRequest() request_examine.set_headers(headers) request_examine.set_params(params_examine) request_examine.set_url(api_examine) response_examine = request_examine.get() self.assertEqual( response_examine.get("examine_status").get("count"), 0) self.assertEqual(response_examine.get("hasExamine"), False)