MCPcopy Create free account
hub / github.com/dwavesystems/dwave-cloud-client / test_region_ls

Method test_region_ls

tests/test_cli.py:789–858  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

787 self.env.stop()
788
789 def test_region_ls(self):
790 config_file = 'dwave.conf'
791 profile = 'profile'
792 metadata_api_endpoint = 'https://metadata'
793 regions = [Region(code='aaa', name='A', endpoint='https://a'),
794 Region(code='bbb', name='B', endpoint='https://b')]
795
796 with mock.patch('dwave.cloud.cli.get_regions', return_value=regions) as m:
797 runner = CliRunner()
798
799 with self.subTest("default call"):
800 with runner.isolated_filesystem():
801 touch(config_file)
802
803 result = runner.invoke(cli, ['region', 'ls',
804 '--config-file', config_file])
805
806 # verify default metadata api used
807 m.assert_called_once()
808 config = m.call_args_list[0].args[0]
809 self.assertIn('/metadata/v', config.metadata_api_endpoint)
810
811 # verify exit code and stdout printout
812 self.assertEqual(result.exit_code, 0)
813 self.assertEqual(result.output.count('Region:'), 2)
814 self.assertIn('Region: A', result.output)
815 self.assertIn('Region: B', result.output)
816
817 m.reset_mock()
818
819 with self.subTest("use metadata api from config"):
820 with runner.isolated_filesystem():
821 # create config
822 with open(config_file, 'w') as fp:
823 fp.write("\n".join([
824 f"[{profile}]",
825 f"metadata_api_endpoint = {metadata_api_endpoint}"]))
826
827 result = runner.invoke(cli, ['region', 'ls',
828 '--config-file', config_file,
829 '--profile', profile])
830
831 m.assert_called_once()
832 config = m.call_args_list[0].args[0]
833 self.assertEqual(config.metadata_api_endpoint, metadata_api_endpoint)
834
835 m.reset_mock()
836
837 with self.subTest("use metadata api from command line"):
838 with runner.isolated_filesystem():
839 touch(config_file)
840
841 result = runner.invoke(cli, ['region', 'ls',
842 '--config-file', config_file,
843 '--metadata-api-endpoint', metadata_api_endpoint])
844
845 m.assert_called_once()
846 config = m.call_args_list[0].args[0]

Callers

nothing calls this directly

Calls 4

RegionClass · 0.90
touchFunction · 0.85
writeMethod · 0.80
dictMethod · 0.80

Tested by

no test coverage detected