def test_setup_and_cleanup_hdfs(self, mock_osclients, mock_cleanup):

        mock_sahara = mock_osclients.Clients(mock.MagicMock()).sahara()
        mock_sahara.data_sources.create.return_value = mock.MagicMock(id=42)

        sahara_ctx = sahara_output_data_sources.SaharaOutputDataSources(
            self.context)
        sahara_ctx.generate_random_name = mock.Mock()

        output_ds_crete_calls = []

        for i in range(self.tenants_num):
            output_ds_crete_calls.append(
                mock.call(name=sahara_ctx.generate_random_name.return_value,
                          description="",
                          data_source_type="hdfs",
                          url="hdfs://test_host/"))

        sahara_ctx.setup()

        mock_sahara.data_sources.create.assert_has_calls(output_ds_crete_calls)

        sahara_ctx.cleanup()

        mock_cleanup.assert_called_once_with(names=["sahara.data_sources"],
                                             users=self.context["users"])
    def test_setup_inputs_swift(self, mock_osclients):
        mock_sahara = mock_osclients.Clients(mock.MagicMock()).sahara()

        self.context.update({
            "config": {
                "users": {
                    "tenants": self.tenants_num,
                    "users_per_tenant": self.users_per_tenant,
                },
                "sahara_output_data_sources": {
                    "output_type": "swift",
                    "output_url_prefix": "rally",
                },
            },
            "admin": {
                "credential": mock.MagicMock()
            },
            "task": mock.MagicMock(),
            "users": self.users_key,
            "tenants": self.tenants,
            "user_choice_method": "random",
        })

        sahara_ctx = sahara_output_data_sources.SaharaOutputDataSources(
            self.context)
        sahara_ctx.generate_random_name = mock.Mock(return_value="random_name")

        output_ds_crete_calls = []
        for i in range(self.tenants_num):
            output_ds_crete_calls.append(
                mock.call(name="random_name",
                          description="",
                          data_source_type="swift",
                          url="swift://random_name.sahara/",
                          credential_user="******",
                          credential_pass="******"))

        sahara_ctx.setup()

        mock_sahara.data_sources.create.assert_has_calls(output_ds_crete_calls)

        sahara_ctx.cleanup()