diff --git a/dist/compatible/schemas/user.yaml b/dist/compatible/schemas/user.yaml index 3584f3f..61409b7 100644 --- a/dist/compatible/schemas/user.yaml +++ b/dist/compatible/schemas/user.yaml @@ -165,10 +165,7 @@ components: - entities - fast_followers_count - favourites_count - - follow_request_sent - - followed_by - followers_count - - following - friends_count - has_custom_timelines - is_translator @@ -178,12 +175,10 @@ components: - muting - name - normal_followers_count - - notifications - pinned_tweet_ids_str - possibly_sensitive - profile_image_url_https - profile_interstitial_type - - protected - screen_name - status - statuses_count diff --git a/dist/docs/schemas/user.yaml b/dist/docs/schemas/user.yaml index 3584f3f..61409b7 100644 --- a/dist/docs/schemas/user.yaml +++ b/dist/docs/schemas/user.yaml @@ -165,10 +165,7 @@ components: - entities - fast_followers_count - favourites_count - - follow_request_sent - - followed_by - followers_count - - following - friends_count - has_custom_timelines - is_translator @@ -178,12 +175,10 @@ components: - muting - name - normal_followers_count - - notifications - pinned_tweet_ids_str - possibly_sensitive - profile_image_url_https - profile_interstitial_type - - protected - screen_name - status - statuses_count diff --git a/src/openapi/schemas/user.yaml b/src/openapi/schemas/user.yaml index 2171f07..9a94fab 100644 --- a/src/openapi/schemas/user.yaml +++ b/src/openapi/schemas/user.yaml @@ -89,10 +89,10 @@ components: - "entities" - "fast_followers_count" - "favourites_count" - - "follow_request_sent" - - "followed_by" + # 31 # - "follow_request_sent" + # 31 # - "followed_by" - "followers_count" - - "following" + # 31 # - "following" - "friends_count" - "has_custom_timelines" - "is_translator" @@ -102,12 +102,12 @@ components: - "muting" - "name" - "normal_followers_count" - - "notifications" + # 31 # - "notifications" - "pinned_tweet_ids_str" - "possibly_sensitive" - "profile_image_url_https" - "profile_interstitial_type" - - "protected" + # 31 # - "protected" - "screen_name" - "status" - "statuses_count" diff --git a/test/python/test_serialize.py b/test/python/test_serialize.py index 763828c..5e9668d 100644 --- a/test/python/test_serialize.py +++ b/test/python/test_serialize.py @@ -74,6 +74,17 @@ def get_kwargs(key, additional): return kwargs +def error_dump(e): + if ERROR_UNCATCHED: + raise + import traceback + + logger.error("==========[STACK TRACE]==========") + for trace in traceback.format_exc().split("\n"): + logger.error(trace) + logger.info("================================") + + api_conf = pt.Configuration( api_key={ "ClientLanguage": "en", @@ -123,15 +134,27 @@ for x in [pt.DefaultApi, pt.TweetApi, pt.UserApi, pt.UsersApi, pt.UserListApi]: time.sleep(SLEEP_TIME) except Exception as e: - if ERROR_UNCATCHED: - raise - import traceback - - logger.error("==========[STACK TRACE]==========") - for trace in traceback.format_exc().split("\n"): - logger.error(trace) - logger.info("================================") + error_dump(e) error_count += 1 + +try: + logger.info(f"Try: Self UserByScreenName Test") + kwargs = get_kwargs("UserByScreenName", {"screen_name": "a810810931931"}) + res = pt.UserApi(api_client).get_user_by_screen_name(**kwargs).to_dict() + if not res["data"]["user"]["result"]["legacy"]["screen_name"] == "a810810931931": + raise Exception("UserByScreenName failed") +except Exception as e: + error_dump(e) + error_count += 1 + +try: + logger.info(f"Try: Self UserTweets Test") + kwargs = get_kwargs("UserTweets", {"userId": "1180389371481976833"}) + pt.TweetApi(api_client).get_user_tweets(**kwargs) +except Exception as e: + error_dump(e) + error_count += 1 + if error_count > 0: exit(1) diff --git a/tools/hooks.py b/tools/hooks.py index 2e35c27..4546554 100644 --- a/tools/hooks.py +++ b/tools/hooks.py @@ -118,6 +118,20 @@ class SchemasCheck(SchemasHookBase): return value +class RequiredCheck(SchemasHookBase): + def hook(self, value: dict): + required = value.get("required", []) + + for key, property in value.get("properties", {}).items(): + if key in required and property.get("default") is not None: + print(f"{key} is required and has default value") + d = property.get("default") is None and property.get("nullable", False) + if property not in required and d: + print(f"{key} is not required and has no default value") + + return value + + # RequestHookBase extends