def test_hosting_not_present(self, mock_ccz_utility, mock_get, *_):
     mock_result = mock.MagicMock()
     mock_result.return_value = True
     mock_ccz_utility.return_value.file_exists = mock_result
     mock_get.side_effect = HostedCCZ.DoesNotExist
     setup_ccz_file_for_hosting(3)
     self.assertFalse(mock_result.called)
Пример #2
0
    def test_ccz_creation_fails(self, mock_ccz_utility, mock_get,
                                mock_create_ccz, mock_get_build, *_):
        mock_get.return_value = self.hosted_ccz

        mock_result = mock.MagicMock()
        mock_result.return_value = False
        mock_ccz_utility.return_value.file_exists = mock_result

        mock_delete_ccz = mock.MagicMock()
        self.hosted_ccz.delete_ccz = mock_delete_ccz
        mock_delete_ccz.return_value = True

        mock_store = mock.MagicMock()
        mock_ccz_utility.return_value.store_file_in_blobdb = mock_store
        mock_store.side_effect = Exception("Fail hard!")
        with self.assertRaisesMessage(Exception, "Fail hard!"):
            setup_ccz_file_for_hosting(3)

        mock_get_build.assert_called_with(self.hosted_ccz.domain,
                                          self.hosted_ccz.app_id,
                                          self.hosted_ccz.version)
        self.assertTrue(mock_create_ccz.called)
        self.assertTrue(
            mock_ccz_utility.return_value.store_file_in_blobdb.called)
        self.assertTrue(mock_delete_ccz.called)
 def test_ccz_already_present(self, mock_ccz_utility, mock_get,
                              mock_create_ccz, *_):
     mock_result = mock.MagicMock()
     mock_result.return_value = True
     mock_ccz_utility.return_value.file_exists = mock_result
     mock_get.return_value = self.hosted_ccz
     mock_result.return_value = True
     setup_ccz_file_for_hosting(3)
     self.assertTrue(mock_result.called)
     self.assertFalse(mock_create_ccz.called)
Пример #4
0
 def test_ccz_already_present(self, mock_update_status, mock_ccz_utility, mock_get, mock_create_ccz, *_):
     mock_result = mock.MagicMock()
     mock_result.return_value = True
     mock_ccz_utility.return_value.file_exists = mock_result
     mock_get.return_value = self.hosted_ccz
     mock_result.return_value = True
     setup_ccz_file_for_hosting(3)
     self.assertTrue(mock_result.called)
     self.assertFalse(mock_create_ccz.called)
     calls = [mock.call('building'), mock.call('completed')]
     mock_update_status.assert_has_calls(calls, any_order=False)
    def test_ccz_not_already_present(self, mock_ccz_utility, mock_get,
                                     mock_create_ccz, mock_get_build, *_):
        mock_get.return_value = self.hosted_ccz

        mock_result = mock.MagicMock()
        mock_result.return_value = False
        mock_ccz_utility.return_value.file_exists = mock_result

        setup_ccz_file_for_hosting(3)

        self.assertTrue(mock_result.called)
        mock_get_build.assert_called_with(self.hosted_ccz.domain,
                                          self.hosted_ccz.app_id,
                                          self.hosted_ccz.version)
        self.assertTrue(mock_create_ccz.called)
        self.assertTrue(
            mock_ccz_utility.return_value.store_file_in_blobdb.called)
Пример #6
0
    def test_ccz_not_already_present(self, mock_update_status, mock_ccz_utility, mock_get, mock_create_ccz,
                                     mock_get_build, *_):
        mock_get.return_value = self.hosted_ccz

        mock_result = mock.MagicMock()
        mock_result.return_value = False
        mock_ccz_utility.return_value.file_exists = mock_result

        setup_ccz_file_for_hosting(3)

        self.assertTrue(mock_result.called)
        mock_get_build.assert_called_with(self.hosted_ccz.domain, self.hosted_ccz.app_id,
                                          self.hosted_ccz.version)
        self.assertTrue(mock_create_ccz.called)
        self.assertTrue(mock_ccz_utility.return_value.store_file_in_blobdb.called)
        calls = [mock.call('building'), mock.call('completed')]
        mock_update_status.assert_has_calls(calls, any_order=False)
Пример #7
0
    def test_ccz_creation_fails(self, mock_email, mock_update_status, mock_ccz_utility, mock_get, mock_create_ccz,
                                mock_get_build, mock_wrapped_app, *_):
        mock_wrapped_app.return_value.name = "My App"
        mock_get.return_value = self.hosted_ccz

        mock_result = mock.MagicMock()
        mock_result.return_value = False
        mock_ccz_utility.return_value.file_exists = mock_result

        mock_delete_ccz = mock.MagicMock()
        self.hosted_ccz.delete_ccz = mock_delete_ccz
        mock_delete_ccz.return_value = True

        mock_store = mock.MagicMock()
        mock_ccz_utility.return_value.store_file_in_blobdb = mock_store
        mock_store.side_effect = Exception("Fail hard!")
        with self.assertRaisesMessage(Exception, "Fail hard!"):
            setup_ccz_file_for_hosting(3, user_email="*****@*****.**")

        mock_get_build.assert_called_with(self.hosted_ccz.domain, self.hosted_ccz.app_id,
                                          self.hosted_ccz.version)
        self.assertTrue(mock_create_ccz.called)
        self.assertTrue(mock_ccz_utility.return_value.store_file_in_blobdb.called)
        calls = [mock.call('building'), mock.call('failed')]
        mock_update_status.assert_has_calls(calls, any_order=False)
        self.assertTrue(mock_delete_ccz.called)
        content = "Hi,\n" \
                  "CCZ could not be created for the following request:\n" \
                  "App: {app}\n" \
                  "Version: {version}\n" \
                  "Profile: {profile}\n" \
                  "Link: {link}" \
                  "".format(app="My App", version=self.hosted_ccz.version, profile=None,
                            link=self.hosted_ccz.link.identifier)
        mock_email.assert_called_with(
            "CCZ Hosting setup failed for app My App in project test",
            "*****@*****.**",
            linebreaksbr(content)
        )