コード例 #1
0
  def test_purge_stacks_and_mpacks(self, get_ambari_version_mock, os_path_exists_mock):
    options = self._create_empty_options_mock()
    get_ambari_version_mock.return_value = configs
    stacks_directory = configs[serverConfiguration.STACK_LOCATION_KEY]
    extensions_directory = configs[serverConfiguration.EXTENSION_PATH_PROPERTY]
    common_services_directory = configs[serverConfiguration.COMMON_SERVICES_PATH_PROPERTY]
    mpacks_directory = configs[serverConfiguration.MPACKS_STAGING_PATH_PROPERTY]
    os_path_exists_mock.side_effect = [True]

    purge_stacks_and_mpacks(None)
    os_path_exists_calls = [
      call('/var/lib/ambari-server/resources'),
    ]
    os_path_exists_mock.assert_has_calls(os_path_exists_calls)

    os_path_exists_mock.side_effect = [True, False, False]
    purge_stacks_and_mpacks(options.purge_list.split(","))
    os_path_exists_calls = [
      call('/var/lib/ambari-server/resources'),
      call(stacks_directory),
      call(mpacks_directory)
    ]
    os_path_exists_mock.assert_has_calls(os_path_exists_calls)

    options.purge_list = ",".join([STACK_DEFINITIONS_RESOURCE_NAME, SERVICE_DEFINITIONS_RESOURCE_NAME, MPACKS_RESOURCE_NAME])
    os_path_exists_mock.side_effect = [True, False, False, False]
    purge_stacks_and_mpacks(options.purge_list.split(","))
    os_path_exists_calls = [
      call('/var/lib/ambari-server/resources'),
      call(stacks_directory),
      call(common_services_directory),
      call(mpacks_directory)
    ]
    os_path_exists_mock.assert_has_calls(os_path_exists_calls)

    options.purge_list = ",".join([STACK_DEFINITIONS_RESOURCE_NAME, EXTENSION_DEFINITIONS_RESOURCE_NAME, MPACKS_RESOURCE_NAME])
    os_path_exists_mock.side_effect = [True, False, False, False]
    purge_stacks_and_mpacks(options.purge_list.split(","))
    os_path_exists_calls = [
      call('/var/lib/ambari-server/resources'),
      call(stacks_directory),
      call(extensions_directory),
      call(mpacks_directory)
    ]
    os_path_exists_mock.assert_has_calls(os_path_exists_calls)

    options.purge_list = ",".join([STACK_DEFINITIONS_RESOURCE_NAME, SERVICE_DEFINITIONS_RESOURCE_NAME, MPACKS_RESOURCE_NAME])
    options.replay_mode = True
    os_path_exists_mock.side_effect = [True, False, False, False]
    purge_stacks_and_mpacks(options.purge_list.split(","))
    os_path_exists_calls = [
      call('/var/lib/ambari-server/resources'),
      call(stacks_directory),
      call(common_services_directory),
      call(mpacks_directory)
    ]
    os_path_exists_mock.assert_has_calls(os_path_exists_calls)
コード例 #2
0
    def test_purge_stacks_and_mpacks(self, get_ambari_version_mock,
                                     os_path_exists_mock):
        options = self._create_empty_options_mock()
        get_ambari_version_mock.return_value = configs
        stacks_directory = configs[STACK_LOCATION_KEY]
        common_services_directory = configs[COMMON_SERVICES_PATH_PROPERTY]
        mpacks_directory = configs[MPACKS_STAGING_PATH_PROPERTY]
        os_path_exists_mock.return_value = False

        purge_stacks_and_mpacks(None)
        os_path_exists_calls = []
        os_path_exists_mock.assert_has_calls(os_path_exists_calls)

        purge_stacks_and_mpacks(options.purge_list.split(","))
        os_path_exists_calls = [call(stacks_directory), call(mpacks_directory)]
        os_path_exists_mock.assert_has_calls(os_path_exists_calls)

        options.purge_list = ",".join([
            STACK_DEFINITIONS_RESOURCE_NAME, SERVICE_DEFINITIONS_RESOURCE_NAME,
            MPACKS_RESOURCE_NAME
        ])
        purge_stacks_and_mpacks(options.purge_list.split(","))
        os_path_exists_calls = [
            call(stacks_directory),
            call(common_services_directory),
            call(mpacks_directory)
        ]
        os_path_exists_mock.assert_has_calls(os_path_exists_calls)

        options.purge_list = ",".join([
            STACK_DEFINITIONS_RESOURCE_NAME, SERVICE_DEFINITIONS_RESOURCE_NAME,
            MPACKS_RESOURCE_NAME
        ])
        options.replay_mode = True
        purge_stacks_and_mpacks(options.purge_list.split(","))
        os_path_exists_calls = [
            call(stacks_directory),
            call(common_services_directory)
        ]
        os_path_exists_mock.assert_has_calls(os_path_exists_calls)