From 9c4e87a052ceef6b0c13dc6e2d6d960d92225ebe Mon Sep 17 00:00:00 2001 From: Niraj Date: Tue, 22 Apr 2025 11:54:49 +0545 Subject: [PATCH 1/2] fix: network metrics response --- tests/govtool-backend/models/TestData.py | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/tests/govtool-backend/models/TestData.py b/tests/govtool-backend/models/TestData.py index 3f89f4149..78910c5cf 100644 --- a/tests/govtool-backend/models/TestData.py +++ b/tests/govtool-backend/models/TestData.py @@ -128,13 +128,16 @@ class TxStatus(TypedDict): class NetworkMetrics(TypedDict): - currentTime: str - currentEpoch: int - currentBlock: int uniqueDelegators: int totalDelegations: int totalGovernanceActions: int totalDRepVotes: int totalRegisteredDReps: int - alwaysAbstainVotingPower: int - alwaysNoConfidenceVotingPower: int + totalDRepDistr: int + totalActiveDReps: int + totalInactiveDReps: int + totalActiveCIP119CompliantDReps: int + totalRegisteredDirectVoters: int + noOfCommitteeMembers: int + quorumNumerator: int + quorumDenominator: int From 1bdc5276e6d156ca25bf82c4f9872c40b6b2d3d5 Mon Sep 17 00:00:00 2001 From: Niraj Date: Tue, 22 Apr 2025 11:55:41 +0545 Subject: [PATCH 2/2] test: add network total stake and network info response type validation test --- tests/govtool-backend/lib/govtool_api.py | 6 ++++++ tests/govtool-backend/models/TestData.py | 12 ++++++++++++ tests/govtool-backend/test_cases/test_misc.py | 18 +++++++++++++++++- 3 files changed, 35 insertions(+), 1 deletion(-) diff --git a/tests/govtool-backend/lib/govtool_api.py b/tests/govtool-backend/lib/govtool_api.py index 7036ddae5..7cc15d6c0 100644 --- a/tests/govtool-backend/lib/govtool_api.py +++ b/tests/govtool-backend/lib/govtool_api.py @@ -92,6 +92,12 @@ def validate_metadata(self, metadata) -> Response: def network_metrics(self) -> Response: return self.__get("/network/metrics") + + def network_total_stake(self) -> Response: + return self.__get("/network/total-stake") + + def network_info(self) -> Response: + return self.__get("/network/info") def get_transaction_status(self, tx_id) -> Response: return self.__get("/transaction/status", tx_id) diff --git a/tests/govtool-backend/models/TestData.py b/tests/govtool-backend/models/TestData.py index 78910c5cf..3cb21b829 100644 --- a/tests/govtool-backend/models/TestData.py +++ b/tests/govtool-backend/models/TestData.py @@ -141,3 +141,15 @@ class NetworkMetrics(TypedDict): noOfCommitteeMembers: int quorumNumerator: int quorumDenominator: int + +class NetworkTotalStake(TypedDict): + totalStakeControlledByDReps: int + totalStakeControlledBySPOs: int + alwaysAbstainVotingPower: int + alwaysNoConfidenceVotingPower: int + +class NetworkInfo(TypedDict): + currentTime: str + epochNo: int + blockNo: int + networkName: str \ No newline at end of file diff --git a/tests/govtool-backend/test_cases/test_misc.py b/tests/govtool-backend/test_cases/test_misc.py index c149ec962..f2dbc3673 100644 --- a/tests/govtool-backend/test_cases/test_misc.py +++ b/tests/govtool-backend/test_cases/test_misc.py @@ -1,7 +1,7 @@ import allure from lib.assertions import assert_data_type -from models.TestData import EpochParam, NetworkMetrics, TxStatus +from models.TestData import EpochParam, NetworkInfo, NetworkMetrics, NetworkTotalStake, TxStatus def validate_epoch_param(epoch_param): @@ -10,6 +10,12 @@ def validate_epoch_param(epoch_param): def validate_network_metrics(network_metrics): assert_data_type(NetworkMetrics, network_metrics) + +def validate_network_total_stake(network_total_stake): + assert_data_type(NetworkTotalStake, network_total_stake) + +def validate_network_info(network_info): + assert_data_type(NetworkInfo, network_info) @allure.story("Misc") @@ -22,6 +28,16 @@ def test_get_epoch_param(govtool_api): def test_get_network_metrics(govtool_api): network_metrics = govtool_api.network_metrics().json() validate_network_metrics(network_metrics) + +@allure.story("Misc") +def test_get_network_total_stake(govtool_api): + network_total_stake = govtool_api.network_total_stake().json() + validate_network_total_stake(network_total_stake) + +@allure.story("Misc") +def test_get_network_info(govtool_api): + network_info = govtool_api.network_info().json() + validate_network_info(network_info) @allure.story("Misc")