コード例 #1
0
 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)
コード例 #2
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)
コード例 #3
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)
コード例 #4
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)
コード例 #5
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)
コード例 #6
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)
コード例 #7
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)
コード例 #8
0
def check_extension_version(extension_name):
    from azure.cli.core.extension.operations import list_available_extensions, list_extensions

    available_extensions = list_available_extensions()
    installed_extensions = list_extensions()
    extension_to_check = [
        ext for ext in installed_extensions if ext['name'] == extension_name
    ]
    if not extension_to_check:
        logger.debug(
            'The extension with name %s does not exist within installed extensions.',
            extension_name)
        return

    extension_to_check = extension_to_check[0]

    for ext in available_extensions:
        if ext['name'] == extension_name and ext[
                'version'] > extension_to_check['version']:
            logger.warning(
                'The %s extension is not up to date, please update with az extension update -n %s',
                extension_name, extension_name)
            return

    logger.debug(
        'The extension with name %s does not exist within available extensions.',
        extension_name)
コード例 #9
0
 def test_add_extension_valid_whl_name_filenotfound(self):
     with self.assertRaises(CLIError):
         add_extension(cmd=self.cmd,
                       source=_get_test_data_file(
                           'mywheel-0.0.3+dev-py2.py3-none-any.whl'))
     actual = list_extensions()
     self.assertEqual(len(actual), 0)
コード例 #10
0
 def test_add_extension_invalid_whl_name(self):
     with self.assertRaises(CLIError):
         add_extension(cmd=self.cmd,
                       source=os.path.join('invalid', 'ext', 'path',
                                           'file.whl'))
     actual = list_extensions()
     self.assertEqual(len(actual), 0)
コード例 #11
0
def _get_current_vmrepair_version():
    from azure.cli.core.extension.operations import list_extensions
    version = [
        ext['version'] for ext in list_extensions()
        if ext['name'] == 'vm-repair'
    ]
    if version:
        return version[0]
    return None
コード例 #12
0
 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)
コード例 #13
0
 def test_add_extension_to_path(self):
     add_extension(cmd=self.cmd, source=MY_EXT_SOURCE)
     num_exts = len(list_extensions())
     self.assertEqual(num_exts, 1)
     ext = get_extension('myfirstcliextension')
     old_path = sys.path[:]
     try:
         add_extension_to_path(ext.name)
         self.assertSequenceEqual(old_path, sys.path[:-1])
         self.assertEqual(ext.path, sys.path[-1])
     finally:
         sys.path[:] = old_path
コード例 #14
0
def should_load_source(source):
    '''Check whether to load `az {source} connection`
    If {source} is an extension (e.g, spring-cloud), load the command group only when {source} is installed
    :param source: the source resource type
    '''
    from azure.cli.core.extension.operations import list_extensions
    from ._resource_config import SOURCE_RESOURCES_IN_EXTENSION

    # names of CLI installed extensions
    installed_extensions = [item.get('name') for item in list_extensions()]
    # if source resource is released as an extension, load our command groups
    # only when the extension is installed
    if source not in SOURCE_RESOURCES_IN_EXTENSION or source.value in installed_extensions:
        return True
    return False
コード例 #15
0
 def test_no_extensions_dir(self):
     shutil.rmtree(self.ext_dir)
     actual = list_extensions()
     self.assertEqual(len(actual), 0)
コード例 #16
0
 def test_no_extensions_in_dir(self):
     actual = list_extensions()
     self.assertEqual(len(actual), 0)
コード例 #17
0
 def test_no_extensions_dir(self):
     shutil.rmtree(self.ext_dir)
     actual = list_extensions()
     self.assertEqual(len(actual), 0)
コード例 #18
0
 def test_add_extension_valid_whl_name_filenotfound(self):
     with self.assertRaises(CLIError):
         add_extension(cmd=self.cmd, source=_get_test_data_file('mywheel-0.0.3+dev-py2.py3-none-any.whl'))
     actual = list_extensions()
     self.assertEqual(len(actual), 0)
コード例 #19
0
 def test_add_extension_invalid(self):
     with self.assertRaises(ValueError):
         add_extension(cmd=self.cmd, source=MY_BAD_EXT_SOURCE)
     actual = list_extensions()
     self.assertEqual(len(actual), 0)
コード例 #20
0
 def test_add_same_extension_user_system(self):
     add_extension(cmd=self.cmd, source=MY_EXT_SOURCE)
     num_exts = len(list_extensions())
     self.assertEqual(num_exts, 1)
     with self.assertRaises(CLIError):
         add_extension(cmd=self.cmd, source=MY_EXT_SOURCE, system=True)
コード例 #21
0
 def test_no_extensions_in_dir(self):
     actual = list_extensions()
     self.assertEqual(len(actual), 0)
コード例 #22
0
 def test_add_extension_twice(self):
     add_extension(cmd=self.cmd, source=MY_EXT_SOURCE)
     num_exts = len(list_extensions())
     self.assertEqual(num_exts, 1)
     with self.assertRaises(CLIError):
         add_extension(cmd=self.cmd, source=MY_EXT_SOURCE)
コード例 #23
0
 def test_add_extension_invalid(self):
     with self.assertRaises(ValueError):
         add_extension(cmd=self.cmd, source=MY_BAD_EXT_SOURCE)
     actual = list_extensions()
     self.assertEqual(len(actual), 0)
コード例 #24
0
 def test_add_extension_twice(self):
     add_extension(cmd=self.cmd, source=MY_EXT_SOURCE)
     num_exts = len(list_extensions())
     self.assertEqual(num_exts, 1)
     with self.assertRaises(CLIError):
         add_extension(cmd=self.cmd, source=MY_EXT_SOURCE)
コード例 #25
0
 def test_add_extension_invalid_whl_name(self):
     with self.assertRaises(CLIError):
         add_extension(cmd=self.cmd, source=os.path.join('invalid', 'ext', 'path', 'file.whl'))
     actual = list_extensions()
     self.assertEqual(len(actual), 0)
コード例 #26
0
def list_extensions_cmd():
    return list_extensions()
コード例 #27
0
ファイル: custom.py プロジェクト: sptramer/azure-cli
def list_extensions_cmd():
    return list_extensions()