def test_delete_user_with_invalid_token(self, LOGGER_error_mock,
                                            resquests_post_mock,
                                            COLAB_APPS_mock):

        resquests_post_mock.return_value = Mock(
            status_code=500,
            json=lambda: {'message': 'Unauthorized'}
        )

        COLAB_APPS_mock.return_value = {
            'colab_gitlab': {
                'private_token': "TestToken",
                'upstream': "https://testeurl.com/",
                'verify_ssl': True,
            },
        }

        user = Mock(
            email="*****@*****.**",
            username="******",
            get_full_name=lambda: "Full Name Test"
        )

        GitlabUser.objects.get_or_create(id=1,username="******")

        delete_user(None, user=user)

        error_msg = u'Error trying to delete "{}" on Gitlab. Reason: {}'
        error_msg = error_msg.format(user.username,'Unknown.')
        LOGGER_error_mock.assert_called_with(error_msg)
    def test_delete_user_with_invalid_request(self, LOGGER_error_mock,
                                              resquests_post_mock,
                                              COLAB_APPS_mock):
        resquests_post_mock.side_effect = Exception()

        COLAB_APPS_mock.return_value = {
            'colab_gitlab': {
                'private_token': "TestToken",
                'upstream': "https://testeurl.com/",
                'verify_ssl': True,
            },
        }

        user = Mock(
            email="*****@*****.**",
            username="******",
            get_full_name=lambda: "Full Name Test"
        )

        GitlabUser.objects.get_or_create(id=1,username="******")

        delete_user(None, user=user)

        error_msg = u'Error trying to delete "{}" on Gitlab. Reason: {}'
        reason = 'Request to API failed ({})'.format(Exception())
        error_msg = error_msg.format(user.username,reason)
        LOGGER_error_mock.assert_called_with(error_msg)
    def test_delete_user_with_valid_token(self, LOGGER_info_mock,
                                          resquests_post_mock,
                                          COLAB_APPS_mock):

        resquests_post_mock.return_value = Mock(
            status_code=201,
            json=lambda: {'message': 'Unauthorized'}
        )

        COLAB_APPS_mock.return_value = {
            'colab_gitlab': {
                'private_token': "TestToken",
                'upstream': "https://testeurl.com/",
                'verify_ssl': True,
            },
        }

        user = Mock(
            email="*****@*****.**",
            username="******",
            get_full_name=lambda: "Full Name Test"
        )
        GitlabUser.objects.get_or_create(id=1,username="******")

        delete_user(None, user=user)

        msg = 'Gitlab user "{}" deleted'.format(user.username)
        LOGGER_info_mock.assert_called_with(msg)
        self.assertEquals(0,len(GitlabUser.objects.filter(id=1)))
    def test_delete_user_with_valid_token(self, LOGGER_info_mock, resquests_post_mock, COLAB_APPS_mock):

        resquests_post_mock.return_value = Mock(status_code=201, json=lambda: {"message": "Unauthorized"})

        COLAB_APPS_mock.return_value = {
            "colab_gitlab": {"private_token": "TestToken", "upstream": "https://testeurl.com/", "verify_ssl": True}
        }

        user = Mock(email="*****@*****.**", username="******", get_full_name=lambda: "Full Name Test")
        GitlabUser.objects.get_or_create(id=1, username="******")

        delete_user(None, user=user)

        msg = 'Gitlab user "{}" deleted'.format(user.username)
        LOGGER_info_mock.assert_called_with(msg)
        self.assertEquals(0, len(GitlabUser.objects.filter(id=1)))
    def test_delete_user_with_invalid_token(self, LOGGER_error_mock, resquests_post_mock, COLAB_APPS_mock):

        resquests_post_mock.return_value = Mock(status_code=500, json=lambda: {"message": "Unauthorized"})

        COLAB_APPS_mock.return_value = {
            "colab_gitlab": {"private_token": "TestToken", "upstream": "https://testeurl.com/", "verify_ssl": True}
        }

        user = Mock(email="*****@*****.**", username="******", get_full_name=lambda: "Full Name Test")

        GitlabUser.objects.get_or_create(id=1, username="******")

        delete_user(None, user=user)

        error_msg = u'Error trying to delete "{}" on Gitlab. Reason: {}'
        error_msg = error_msg.format(user.username, "Unknown.")
        LOGGER_error_mock.assert_called_with(error_msg)
    def test_delete_user_with_invalid_request(self, LOGGER_error_mock, resquests_post_mock, COLAB_APPS_mock):
        resquests_post_mock.side_effect = Exception()

        COLAB_APPS_mock.return_value = {
            "colab_gitlab": {"private_token": "TestToken", "upstream": "https://testeurl.com/", "verify_ssl": True}
        }

        user = Mock(email="*****@*****.**", username="******", get_full_name=lambda: "Full Name Test")

        GitlabUser.objects.get_or_create(id=1, username="******")

        delete_user(None, user=user)

        error_msg = u'Error trying to delete "{}" on Gitlab. Reason: {}'
        reason = "Request to API failed ({})".format(Exception())
        error_msg = error_msg.format(user.username, reason)
        LOGGER_error_mock.assert_called_with(error_msg)