def main() -> int: logging.basicConfig( format="%(name)s:%(levelname)s:%(message)s", level=logging.INFO, ) args = get_args() if not (args.output_file or args.print_coverage or args.badge_icon_url): LOGGER.error( "One of --output-file, --print-coverage or --badge-icon-url is needed" ) return 1 available_commands = { "cardano-cli": get_available_commands(["cardano-cli"], ignore_skips=args.ignore_skips) } try: coverage = get_coverage(coverage_files=args.input_files, available_commands=available_commands) except AttributeError as exc: LOGGER.error(str(exc)) return 1 report, *__ = get_report("cardano-cli", coverage, uncovered_only=args.uncovered_only) if args.output_file: helpers.write_json(args.output_file, report) if args.print_coverage: print(report["cardano-cli"]["_coverage_cardano-cli"]) if args.badge_icon_url: print(get_badge_icon(report)) return 0
def main() -> int: args = get_args() if not (args.output_file or args.print_coverage or args.badge_icon_url): LOGGER.error( "One of --output-file, --print-coverage or --badge-icon-url is needed" ) return 1 available_commands = { "cardano-cli": { "_count": 0, "shelley": get_available_commands(["cardano-cli", "shelley"]) } } try: coverage = get_coverage(args.input_files, available_commands) except AttributeError as exc: LOGGER.error(str(exc)) return 1 report, *__ = get_report("cardano-cli", coverage, uncovered_only=args.uncovered_only) if args.output_file: helpers.write_json(args.output_file, report) if args.print_coverage: print(report["cardano-cli"]["_coverage_cardano-cli"]) if args.badge_icon_url: print(get_badge_icon(report)) return 0
def test_pool_registration_fees( self, cluster: clusterlib.ClusterLib, temp_dir: Path, pool_users: List[clusterlib.PoolUser], addr_fee: Tuple[int, int], ): """Test pool registration fees.""" no_of_addr, expected_fee = addr_fee rand_str = clusterlib.get_rand_str(4) temp_template = f"{helpers.get_func_name()}_{rand_str}_{no_of_addr}" pool_name = f"pool_{rand_str}" pool_metadata = { "name": pool_name, "description": "Shelley QA E2E test Test", "ticker": "QA1", "homepage": "www.test1.com", } pool_metadata_file = helpers.write_json( temp_dir / f"{pool_name}_registration_metadata.json", pool_metadata) pool_data = clusterlib.PoolData( pool_name=pool_name, pool_pledge=1000, pool_cost=15, pool_margin=0.2, pool_metadata_url="https://www.where_metadata_file_is_located.com", pool_metadata_hash=cluster.gen_pool_metadata_hash( pool_metadata_file), ) # create pool owners selected_owners = pool_users[:no_of_addr] # create certificates src_address, tx_files = self._create_pool_certificates( cluster_obj=cluster, pool_owners=selected_owners, temp_template=temp_template, pool_data=pool_data, ) # calculate TX fee tx_fee = cluster.calculate_tx_fee(src_address=src_address, tx_name=temp_template, tx_files=tx_files) assert helpers.is_in_interval( tx_fee, expected_fee), "Expected fee doesn't match the actual fee"
def test_pool_deregistration_fees( self, cluster: clusterlib.ClusterLib, temp_dir: Path, pool_users: List[clusterlib.PoolUser], addr_fee: Tuple[int, int], ): """Test pool deregistration fees.""" no_of_addr, expected_fee = addr_fee rand_str = clusterlib.get_rand_str(4) temp_template = f"{helpers.get_func_name()}_{rand_str}_{no_of_addr}" src_address = pool_users[0].payment.address pool_name = f"pool_{rand_str}" pool_metadata = { "name": pool_name, "description": "Shelley QA E2E test Test", "ticker": "QA1", "homepage": "www.test1.com", } pool_metadata_file = helpers.write_json( temp_dir / f"{pool_name}_registration_metadata.json", pool_metadata) pool_data = clusterlib.PoolData( pool_name=pool_name, pool_pledge=222, pool_cost=123, pool_margin=0.512, pool_metadata_url="https://www.where_metadata_file_is_located.com", pool_metadata_hash=cluster.gen_pool_metadata_hash( pool_metadata_file), ) # create pool owners selected_owners = pool_users[:no_of_addr] # create node cold key pair and counter node_cold = cluster.gen_cold_key_pair_and_counter( node_name=pool_data.pool_name) # create deregistration certificate pool_dereg_cert_file = cluster.gen_pool_deregistration_cert( pool_name=pool_data.pool_name, cold_vkey_file=node_cold.vkey_file, epoch=cluster.get_last_block_epoch() + 1, ) # submit the pool deregistration certificate through a tx tx_files = clusterlib.TxFiles( certificate_files=[pool_dereg_cert_file], signing_key_files=[ *[p.payment.skey_file for p in selected_owners], *[p.stake.skey_file for p in selected_owners], node_cold.skey_file, ], ) # calculate TX fee tx_fee = cluster.calculate_tx_fee(src_address=src_address, tx_name=temp_template, tx_files=tx_files) assert tx_fee == expected_fee, "Expected fee doesn't match the actual fee"