def test_add_list_show_remove_extension(self): add_extension(cmd=self.cmd, source=MY_EXT_SOURCE) actual = list_extensions() self.assertEqual(len(actual), 1) ext = show_extension(MY_EXT_NAME) self.assertEqual(ext[OUT_KEY_NAME], MY_EXT_NAME) remove_extension(MY_EXT_NAME) num_exts = len(list_extensions()) self.assertEqual(num_exts, 0)
def test_add_list_show_remove_system_extension(self): add_extension(cmd=self.cmd, source=MY_EXT_SOURCE, system=True) actual = list_extensions() self.assertEqual(len(actual), 1) ext = show_extension(MY_EXT_NAME) self.assertEqual(ext[OUT_KEY_NAME], MY_EXT_NAME) remove_extension(MY_EXT_NAME) num_exts = len(list_extensions()) self.assertEqual(num_exts, 0)
def test_add_list_show_remove_extension(self): add_extension(MY_EXT_SOURCE) actual = list_extensions() self.assertEqual(len(actual), 1) ext = show_extension(MY_EXT_NAME) self.assertEqual(ext[OUT_KEY_NAME], MY_EXT_NAME) remove_extension(MY_EXT_NAME) num_exts = len(list_extensions()) self.assertEqual(num_exts, 0)
def test_add_list_show_remove_extension_with_dashes(self): add_extension(MY_SECOND_EXT_SOURCE_DASHES) actual = list_extensions() self.assertEqual(len(actual), 1) ext = show_extension(MY_SECOND_EXT_NAME_DASHES) self.assertEqual(ext[OUT_KEY_NAME], MY_SECOND_EXT_NAME_DASHES) self.assertIn(OUT_KEY_NAME, ext[OUT_KEY_METADATA], "Unable to get full metadata") self.assertEqual(ext[OUT_KEY_METADATA][OUT_KEY_NAME], MY_SECOND_EXT_NAME_DASHES) remove_extension(MY_SECOND_EXT_NAME_DASHES) num_exts = len(list_extensions()) self.assertEqual(num_exts, 0)
def test_add_list_show_remove_extension_with_dashes(self): add_extension(cmd=self.cmd, source=MY_SECOND_EXT_SOURCE_DASHES) actual = list_extensions() self.assertEqual(len(actual), 1) ext = show_extension(MY_SECOND_EXT_NAME_DASHES) self.assertEqual(ext[OUT_KEY_NAME], MY_SECOND_EXT_NAME_DASHES) self.assertIn(OUT_KEY_NAME, ext[OUT_KEY_METADATA], "Unable to get full metadata") self.assertEqual(ext[OUT_KEY_METADATA][OUT_KEY_NAME], MY_SECOND_EXT_NAME_DASHES) remove_extension(MY_SECOND_EXT_NAME_DASHES) num_exts = len(list_extensions()) self.assertEqual(num_exts, 0)
def test_add_list_show_remove_extension_extra_index_url(self): """ Tests extension addition while specifying --extra-index-url parameter. :return: """ extra_index_urls = ['https://testpypi.python.org/simple', 'https://pypi.python.org/simple'] add_extension(source=MY_EXT_SOURCE, pip_extra_index_urls=extra_index_urls) actual = list_extensions() self.assertEqual(len(actual), 1) ext = show_extension(MY_EXT_NAME) self.assertEqual(ext[OUT_KEY_NAME], MY_EXT_NAME) remove_extension(MY_EXT_NAME) num_exts = len(list_extensions()) self.assertEqual(num_exts, 0)
def test_add_list_show_remove_extension_extra_index_url(self): """ Tests extension addition while specifying --extra-index-url parameter. :return: """ extra_index_urls = ['https://testpypi.python.org/simple', 'https://pypi.python.org/simple'] add_extension(cmd=self.cmd, source=MY_EXT_SOURCE, pip_extra_index_urls=extra_index_urls) actual = list_extensions() self.assertEqual(len(actual), 1) ext = show_extension(MY_EXT_NAME) self.assertEqual(ext[OUT_KEY_NAME], MY_EXT_NAME) remove_extension(MY_EXT_NAME) num_exts = len(list_extensions()) self.assertEqual(num_exts, 0)
def tearDownClass(cls): super(TestCommandLogFile, cls).tearDownClass() for ext_name in [ ext.name for ext in get_extensions() if isinstance(ext, WheelExtension) and ext.name not in cls.original_extensions ]: remove_extension(ext_name) logger.warning( "Removing ext %s, as it was not in the original list of installed wheel extensions..", ext_name) for ext_name in cls.original_extensions: add_extension(extension_name=ext_name) logger.warning("Adding whl ext %s", ext_name)
def setUpClass(cls): super(TestCommandLogFile, cls).setUpClass() cls.ext_to_add_post_test = None # ensure that after tests are run we return to original extensions' state. cls.original_extensions = [ ext.name for ext in get_extensions() if isinstance(ext, WheelExtension) ] for ext_name in cls.original_extensions: remove_extension(ext_name) logger.warning( "Removing ext %s, will reinstall it afterwards if it is a published whl extension.", ext_name)
def test_add_list_show_remove_user_system_extensions(self): add_extension(cmd=self.cmd, source=MY_EXT_SOURCE) add_extension(cmd=self.cmd, source=MY_SECOND_EXT_SOURCE_DASHES, system=True) actual = list_extensions() self.assertEqual(len(actual), 2) ext = show_extension(MY_EXT_NAME) self.assertEqual(ext[OUT_KEY_NAME], MY_EXT_NAME) self.assertEqual(ext[OUT_KEY_PATH], build_extension_path(MY_EXT_NAME)) second_ext = show_extension(MY_SECOND_EXT_NAME_DASHES) self.assertEqual(second_ext[OUT_KEY_NAME], MY_SECOND_EXT_NAME_DASHES) self.assertEqual( second_ext[OUT_KEY_PATH], build_extension_path(MY_SECOND_EXT_NAME_DASHES, system=True)) remove_extension(MY_EXT_NAME) num_exts = len(list_extensions()) self.assertEqual(num_exts, 1) remove_extension(MY_SECOND_EXT_NAME_DASHES) num_exts = len(list_extensions()) self.assertEqual(num_exts, 0)
def test_add_extension_azure_to_path(self): import azure import azure.mgmt old_path_0 = list(sys.path) old_path_1 = list(azure.__path__) old_path_2 = list(azure.mgmt.__path__) add_extension(cmd=self.cmd, source=MY_EXT_SOURCE) ext = get_extension('myfirstcliextension') azure_dir = os.path.join(ext.path, "azure") azure_mgmt_dir = os.path.join(azure_dir, "mgmt") os.mkdir(azure_dir) os.mkdir(azure_mgmt_dir) try: add_extension_to_path(ext.name) new_path_1 = list(azure.__path__) new_path_2 = list(azure.mgmt.__path__) finally: sys.path.remove(ext.path) remove_extension(ext.name) if isinstance(azure.__path__, list): azure.__path__[:] = old_path_1 else: list(azure.__path__) if isinstance(azure.mgmt.__path__, list): azure.mgmt.__path__[:] = old_path_2 else: list(azure.mgmt.__path__) self.assertSequenceEqual(old_path_1, new_path_1[:-1]) self.assertSequenceEqual(old_path_2, new_path_2[:-1]) self.assertEqual(azure_dir, new_path_1[-1]) self.assertEqual(azure_mgmt_dir, new_path_2[-1]) self.assertSequenceEqual(old_path_0, list(sys.path)) self.assertSequenceEqual(old_path_1, list(azure.__path__)) self.assertSequenceEqual(old_path_2, list(azure.mgmt.__path__))
def remove_extension_cmd(extension_name): return remove_extension(extension_name)