Exemple #1
0
    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)
Exemple #2
0
    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)
Exemple #3
0
    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)
Exemple #4
0
    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)