summaryrefslogtreecommitdiff
path: root/test/units/modules/source_control
diff options
context:
space:
mode:
Diffstat (limited to 'test/units/modules/source_control')
-rw-r--r--test/units/modules/source_control/bitbucket/test_bitbucket_access_key.py337
-rw-r--r--test/units/modules/source_control/bitbucket/test_bitbucket_pipeline_key_pair.py192
-rw-r--r--test/units/modules/source_control/bitbucket/test_bitbucket_pipeline_known_host.py187
-rw-r--r--test/units/modules/source_control/bitbucket/test_bitbucket_pipeline_variable.py290
-rw-r--r--test/units/modules/source_control/gitlab/gitlab.py580
-rw-r--r--test/units/modules/source_control/gitlab/test_gitlab_deploy_key.py107
-rw-r--r--test/units/modules/source_control/gitlab/test_gitlab_group.py108
-rw-r--r--test/units/modules/source_control/gitlab/test_gitlab_hook.py101
-rw-r--r--test/units/modules/source_control/gitlab/test_gitlab_project.py103
-rw-r--r--test/units/modules/source_control/gitlab/test_gitlab_runner.py94
-rw-r--r--test/units/modules/source_control/gitlab/test_gitlab_user.py163
11 files changed, 0 insertions, 2262 deletions
diff --git a/test/units/modules/source_control/bitbucket/test_bitbucket_access_key.py b/test/units/modules/source_control/bitbucket/test_bitbucket_access_key.py
deleted file mode 100644
index f1cb4fe71b..0000000000
--- a/test/units/modules/source_control/bitbucket/test_bitbucket_access_key.py
+++ /dev/null
@@ -1,337 +0,0 @@
-from ansible.module_utils.source_control.bitbucket import BitbucketHelper
-from ansible.modules.source_control.bitbucket import bitbucket_access_key
-from units.compat import unittest
-from units.compat.mock import patch
-from units.modules.utils import AnsibleFailJson, AnsibleExitJson, ModuleTestCase, set_module_args
-
-
-class TestBucketAccessKeyModule(ModuleTestCase):
- def setUp(self):
- super(TestBucketAccessKeyModule, self).setUp()
- self.module = bitbucket_access_key
-
- def test_missing_key_with_present_state(self):
- with self.assertRaises(AnsibleFailJson) as exec_info:
- set_module_args({
- 'client_id': 'ABC',
- 'client_secret': 'XXX',
- 'username': 'name',
- 'repository': 'repo',
- 'label': 'key name',
- 'state': 'present',
- })
- self.module.main()
-
- self.assertEqual(exec_info.exception.args[0]['msg'], self.module.error_messages['required_key'])
-
- @patch.object(BitbucketHelper, 'fetch_access_token', return_value='token')
- @patch.object(bitbucket_access_key, 'get_existing_deploy_key', return_value=None)
- def test_create_deploy_key(self, *args):
- with patch.object(self.module, 'create_deploy_key') as create_deploy_key_mock:
- with self.assertRaises(AnsibleExitJson) as exec_info:
- set_module_args({
- 'client_id': 'ABC',
- 'client_secret': 'XXX',
- 'username': 'name',
- 'repository': 'repo',
- 'key': 'public_key',
- 'label': 'key name',
- 'state': 'present',
- })
- self.module.main()
-
- self.assertEqual(create_deploy_key_mock.call_count, 1)
- self.assertEqual(exec_info.exception.args[0]['changed'], True)
-
- @patch.object(BitbucketHelper, 'fetch_access_token', return_value='token')
- @patch.object(bitbucket_access_key, 'get_existing_deploy_key', return_value=None)
- def test_create_deploy_key_check_mode(self, *args):
- with patch.object(self.module, 'create_deploy_key') as create_deploy_key_mock:
- with self.assertRaises(AnsibleExitJson) as exec_info:
- set_module_args({
- 'client_id': 'ABC',
- 'client_secret': 'XXX',
- 'username': 'name',
- 'repository': 'repo',
- 'key': 'public_key',
- 'label': 'key name',
- 'state': 'present',
- '_ansible_check_mode': True,
- })
- self.module.main()
-
- self.assertEqual(create_deploy_key_mock.call_count, 0)
- self.assertEqual(exec_info.exception.args[0]['changed'], True)
-
- @patch.object(BitbucketHelper, 'fetch_access_token', return_value='token')
- @patch.object(bitbucket_access_key, 'get_existing_deploy_key', return_value={
- "id": 123,
- "label": "mykey",
- "created_on": "2019-03-23T10:15:21.517377+00:00",
- "key": "ssh-rsa AAAAB3NzaC1yc2EAAAADA...AdkTg7HGqL3rlaDrEcWfL7Lu6TnhBdq5",
- "type": "deploy_key",
- "comment": "",
- "last_used": None,
- "repository": {
- "links": {
- "self": {
- "href": "https://api.bitbucket.org/2.0/repositories/mleu/test"
- },
- "html": {
- "href": "https://bitbucket.org/mleu/test"
- },
- "avatar": {
- "href": "..."
- }
- },
- "type": "repository",
- "name": "test",
- "full_name": "mleu/test",
- "uuid": "{85d08b4e-571d-44e9-a507-fa476535aa98}"
- },
- "links": {
- "self": {
- "href": "https://api.bitbucket.org/2.0/repositories/mleu/test/deploy-keys/123"
- }
- },
- })
- def test_update_deploy_key(self, *args):
- with patch.object(self.module, 'delete_deploy_key') as delete_deploy_key_mock:
- with patch.object(self.module, 'create_deploy_key') as create_deploy_key_mock:
- with self.assertRaises(AnsibleExitJson) as exec_info:
- set_module_args({
- 'client_id': 'ABC',
- 'client_secret': 'XXX',
- 'username': 'name',
- 'repository': 'repo',
- 'key': 'new public key',
- 'label': 'mykey',
- 'state': 'present',
- })
- self.module.main()
-
- self.assertEqual(delete_deploy_key_mock.call_count, 1)
- self.assertEqual(create_deploy_key_mock.call_count, 1)
- self.assertEqual(exec_info.exception.args[0]['changed'], True)
-
- @patch.object(BitbucketHelper, 'fetch_access_token', return_value='token')
- @patch.object(bitbucket_access_key, 'get_existing_deploy_key', return_value={
- "id": 123,
- "label": "mykey",
- "created_on": "2019-03-23T10:15:21.517377+00:00",
- "key": "new public key",
- "type": "deploy_key",
- "comment": "",
- "last_used": None,
- "repository": {
- "links": {
- "self": {
- "href": "https://api.bitbucket.org/2.0/repositories/mleu/test"
- },
- "html": {
- "href": "https://bitbucket.org/mleu/test"
- },
- "avatar": {
- "href": "..."
- }
- },
- "type": "repository",
- "name": "test",
- "full_name": "mleu/test",
- "uuid": "{85d08b4e-571d-44e9-a507-fa476535aa98}"
- },
- "links": {
- "self": {
- "href": "https://api.bitbucket.org/2.0/repositories/mleu/test/deploy-keys/123"
- }
- },
- })
- def test_dont_update_same_value(self, *args):
- with patch.object(self.module, 'delete_deploy_key') as delete_deploy_key_mock:
- with patch.object(self.module, 'create_deploy_key') as create_deploy_key_mock:
- with self.assertRaises(AnsibleExitJson) as exec_info:
- set_module_args({
- 'client_id': 'ABC',
- 'client_secret': 'XXX',
- 'username': 'name',
- 'repository': 'repo',
- 'key': 'new public key',
- 'label': 'mykey',
- 'state': 'present',
- })
- self.module.main()
-
- self.assertEqual(delete_deploy_key_mock.call_count, 0)
- self.assertEqual(create_deploy_key_mock.call_count, 0)
- self.assertEqual(exec_info.exception.args[0]['changed'], False)
-
- @patch.object(BitbucketHelper, 'fetch_access_token', return_value='token')
- @patch.object(bitbucket_access_key, 'get_existing_deploy_key', return_value={
- "id": 123,
- "label": "mykey",
- "created_on": "2019-03-23T10:15:21.517377+00:00",
- "key": "ssh-rsa AAAAB3NzaC1yc2EAAAADA...AdkTg7HGqL3rlaDrEcWfL7Lu6TnhBdq5",
- "type": "deploy_key",
- "comment": "",
- "last_used": None,
- "repository": {
- "links": {
- "self": {
- "href": "https://api.bitbucket.org/2.0/repositories/mleu/test"
- },
- "html": {
- "href": "https://bitbucket.org/mleu/test"
- },
- "avatar": {
- "href": "..."
- }
- },
- "type": "repository",
- "name": "test",
- "full_name": "mleu/test",
- "uuid": "{85d08b4e-571d-44e9-a507-fa476535aa98}"
- },
- "links": {
- "self": {
- "href": "https://api.bitbucket.org/2.0/repositories/mleu/test/deploy-keys/123"
- }
- },
- })
- def test_update_deploy_key_check_mode(self, *args):
- with patch.object(self.module, 'delete_deploy_key') as delete_deploy_key_mock:
- with patch.object(self.module, 'create_deploy_key') as create_deploy_key_mock:
- with self.assertRaises(AnsibleExitJson) as exec_info:
- set_module_args({
- 'client_id': 'ABC',
- 'client_secret': 'XXX',
- 'username': 'name',
- 'repository': 'repo',
- 'key': 'new public key',
- 'label': 'mykey',
- 'state': 'present',
- '_ansible_check_mode': True,
- })
- self.module.main()
-
- self.assertEqual(delete_deploy_key_mock.call_count, 0)
- self.assertEqual(create_deploy_key_mock.call_count, 0)
- self.assertEqual(exec_info.exception.args[0]['changed'], True)
-
- @patch.object(BitbucketHelper, 'fetch_access_token', return_value='token')
- @patch.object(bitbucket_access_key, 'get_existing_deploy_key', return_value={
- "id": 123,
- "label": "mykey",
- "created_on": "2019-03-23T10:15:21.517377+00:00",
- "key": "ssh-rsa AAAAB3NzaC1yc2EAAAADA...AdkTg7HGqL3rlaDrEcWfL7Lu6TnhBdq5",
- "type": "deploy_key",
- "comment": "",
- "last_used": None,
- "repository": {
- "links": {
- "self": {
- "href": "https://api.bitbucket.org/2.0/repositories/mleu/test"
- },
- "html": {
- "href": "https://bitbucket.org/mleu/test"
- },
- "avatar": {
- "href": "..."
- }
- },
- "type": "repository",
- "name": "test",
- "full_name": "mleu/test",
- "uuid": "{85d08b4e-571d-44e9-a507-fa476535aa98}"
- },
- "links": {
- "self": {
- "href": "https://api.bitbucket.org/2.0/repositories/mleu/test/deploy-keys/123"
- }
- },
- })
- def test_delete_deploy_key(self, *args):
- with patch.object(self.module, 'delete_deploy_key') as delete_deploy_key_mock:
- with self.assertRaises(AnsibleExitJson) as exec_info:
- set_module_args({
- 'client_id': 'ABC',
- 'client_secret': 'XXX',
- 'username': 'name',
- 'repository': 'repo',
- 'label': 'mykey',
- 'state': 'absent',
- })
- self.module.main()
-
- self.assertEqual(delete_deploy_key_mock.call_count, 1)
- self.assertEqual(exec_info.exception.args[0]['changed'], True)
-
- @patch.object(BitbucketHelper, 'fetch_access_token', return_value='token')
- @patch.object(bitbucket_access_key, 'get_existing_deploy_key', return_value=None)
- def test_delete_absent_deploy_key(self, *args):
- with patch.object(self.module, 'delete_deploy_key') as delete_deploy_key_mock:
- with self.assertRaises(AnsibleExitJson) as exec_info:
- set_module_args({
- 'client_id': 'ABC',
- 'client_secret': 'XXX',
- 'username': 'name',
- 'repository': 'repo',
- 'label': 'mykey',
- 'state': 'absent',
- })
- self.module.main()
-
- self.assertEqual(delete_deploy_key_mock.call_count, 0)
- self.assertEqual(exec_info.exception.args[0]['changed'], False)
-
- @patch.object(BitbucketHelper, 'fetch_access_token', return_value='token')
- @patch.object(bitbucket_access_key, 'get_existing_deploy_key', return_value={
- "id": 123,
- "label": "mykey",
- "created_on": "2019-03-23T10:15:21.517377+00:00",
- "key": "ssh-rsa AAAAB3NzaC1yc2EAAAADA...AdkTg7HGqL3rlaDrEcWfL7Lu6TnhBdq5",
- "type": "deploy_key",
- "comment": "",
- "last_used": None,
- "repository": {
- "links": {
- "self": {
- "href": "https://api.bitbucket.org/2.0/repositories/mleu/test"
- },
- "html": {
- "href": "https://bitbucket.org/mleu/test"
- },
- "avatar": {
- "href": "..."
- }
- },
- "type": "repository",
- "name": "test",
- "full_name": "mleu/test",
- "uuid": "{85d08b4e-571d-44e9-a507-fa476535aa98}"
- },
- "links": {
- "self": {
- "href": "https://api.bitbucket.org/2.0/repositories/mleu/test/deploy-keys/123"
- }
- },
- })
- def test_delete_deploy_key_check_mode(self, *args):
- with patch.object(self.module, 'delete_deploy_key') as delete_deploy_key_mock:
- with self.assertRaises(AnsibleExitJson) as exec_info:
- set_module_args({
- 'client_id': 'ABC',
- 'client_secret': 'XXX',
- 'username': 'name',
- 'repository': 'repo',
- 'label': 'mykey',
- 'state': 'absent',
- '_ansible_check_mode': True,
- })
- self.module.main()
-
- self.assertEqual(delete_deploy_key_mock.call_count, 0)
- self.assertEqual(exec_info.exception.args[0]['changed'], True)
-
-
-if __name__ == '__main__':
- unittest.main()
diff --git a/test/units/modules/source_control/bitbucket/test_bitbucket_pipeline_key_pair.py b/test/units/modules/source_control/bitbucket/test_bitbucket_pipeline_key_pair.py
deleted file mode 100644
index 44e7c31ea7..0000000000
--- a/test/units/modules/source_control/bitbucket/test_bitbucket_pipeline_key_pair.py
+++ /dev/null
@@ -1,192 +0,0 @@
-from ansible.module_utils.source_control.bitbucket import BitbucketHelper
-from ansible.modules.source_control.bitbucket import bitbucket_pipeline_key_pair
-from units.compat import unittest
-from units.compat.mock import patch
-from units.modules.utils import AnsibleFailJson, AnsibleExitJson, ModuleTestCase, set_module_args
-
-
-class TestBucketPipelineKeyPairModule(ModuleTestCase):
- def setUp(self):
- super(TestBucketPipelineKeyPairModule, self).setUp()
- self.module = bitbucket_pipeline_key_pair
-
- def test_missing_keys_with_present_state(self):
- with self.assertRaises(AnsibleFailJson) as exec_info:
- set_module_args({
- 'client_id': 'ABC',
- 'client_secret': 'XXX',
- 'username': 'name',
- 'repository': 'repo',
- 'state': 'present',
- })
- self.module.main()
-
- self.assertEqual(exec_info.exception.args[0]['msg'], self.module.error_messages['required_keys'])
-
- @patch.object(BitbucketHelper, 'fetch_access_token', return_value='token')
- @patch.object(bitbucket_pipeline_key_pair, 'get_existing_ssh_key_pair', return_value=None)
- def test_create_keys(self, *args):
- with patch.object(self.module, 'update_ssh_key_pair') as update_ssh_key_pair_mock:
- with self.assertRaises(AnsibleExitJson) as exec_info:
- set_module_args({
- 'client_id': 'ABC',
- 'client_secret': 'XXX',
- 'username': 'name',
- 'repository': 'repo',
- 'public_key': 'public',
- 'private_key': 'PRIVATE',
- 'state': 'present',
- })
- self.module.main()
-
- self.assertEqual(update_ssh_key_pair_mock.call_count, 1)
- self.assertEqual(exec_info.exception.args[0]['changed'], True)
-
- @patch.object(BitbucketHelper, 'fetch_access_token', return_value='token')
- @patch.object(bitbucket_pipeline_key_pair, 'get_existing_ssh_key_pair', return_value=None)
- def test_create_keys_check_mode(self, *args):
- with patch.object(self.module, 'update_ssh_key_pair') as update_ssh_key_pair_mock:
- with self.assertRaises(AnsibleExitJson) as exec_info:
- set_module_args({
- 'client_id': 'ABC',
- 'client_secret': 'XXX',
- 'username': 'name',
- 'repository': 'repo',
- 'public_key': 'public',
- 'private_key': 'PRIVATE',
- 'state': 'present',
- '_ansible_check_mode': True,
- })
- self.module.main()
-
- self.assertEqual(update_ssh_key_pair_mock.call_count, 0)
- self.assertEqual(exec_info.exception.args[0]['changed'], True)
-
- @patch.object(BitbucketHelper, 'fetch_access_token', return_value='token')
- @patch.object(bitbucket_pipeline_key_pair, 'get_existing_ssh_key_pair', return_value={
- 'public_key': 'unknown',
- 'type': 'pipeline_ssh_key_pair',
- })
- def test_update_keys(self, *args):
- with patch.object(self.module, 'update_ssh_key_pair') as update_ssh_key_pair_mock:
- with self.assertRaises(AnsibleExitJson) as exec_info:
- set_module_args({
- 'client_id': 'ABC',
- 'client_secret': 'XXX',
- 'username': 'name',
- 'repository': 'repo',
- 'public_key': 'public',
- 'private_key': 'PRIVATE',
- 'state': 'present',
- })
- self.module.main()
-
- self.assertEqual(update_ssh_key_pair_mock.call_count, 1)
- self.assertEqual(exec_info.exception.args[0]['changed'], True)
-
- @patch.object(BitbucketHelper, 'fetch_access_token', return_value='token')
- @patch.object(bitbucket_pipeline_key_pair, 'get_existing_ssh_key_pair', return_value={
- 'public_key': 'public',
- 'type': 'pipeline_ssh_key_pair',
- })
- def test_dont_update_same_key(self, *args):
- with patch.object(self.module, 'update_ssh_key_pair') as update_ssh_key_pair_mock:
- with self.assertRaises(AnsibleExitJson) as exec_info:
- set_module_args({
- 'client_id': 'ABC',
- 'client_secret': 'XXX',
- 'username': 'name',
- 'repository': 'repo',
- 'public_key': 'public',
- 'private_key': 'PRIVATE',
- 'state': 'present',
- })
- self.module.main()
-
- self.assertEqual(update_ssh_key_pair_mock.call_count, 0)
- self.assertEqual(exec_info.exception.args[0]['changed'], False)
-
- @patch.object(BitbucketHelper, 'fetch_access_token', return_value='token')
- @patch.object(bitbucket_pipeline_key_pair, 'get_existing_ssh_key_pair', return_value={
- 'public_key': 'unknown',
- 'type': 'pipeline_ssh_key_pair',
- })
- def test_update_keys_check_mode(self, *args):
- with patch.object(self.module, 'update_ssh_key_pair') as update_ssh_key_pair_mock:
- with self.assertRaises(AnsibleExitJson) as exec_info:
- set_module_args({
- 'client_id': 'ABC',
- 'client_secret': 'XXX',
- 'username': 'name',
- 'repository': 'repo',
- 'public_key': 'public',
- 'private_key': 'PRIVATE',
- 'state': 'present',
- '_ansible_check_mode': True,
- })
- self.module.main()
-
- self.assertEqual(update_ssh_key_pair_mock.call_count, 0)
- self.assertEqual(exec_info.exception.args[0]['changed'], True)
-
- @patch.object(BitbucketHelper, 'fetch_access_token', return_value='token')
- @patch.object(bitbucket_pipeline_key_pair, 'get_existing_ssh_key_pair', return_value={
- 'public_key': 'public',
- 'type': 'pipeline_ssh_key_pair',
- })
- def test_delete_keys(self, *args):
- with patch.object(self.module, 'delete_ssh_key_pair') as delete_ssh_key_pair_mock:
- with self.assertRaises(AnsibleExitJson) as exec_info:
- set_module_args({
- 'client_id': 'ABC',
- 'client_secret': 'XXX',
- 'username': 'name',
- 'repository': 'repo',
- 'state': 'absent',
- })
- self.module.main()
-
- self.assertEqual(delete_ssh_key_pair_mock.call_count, 1)
- self.assertEqual(exec_info.exception.args[0]['changed'], True)
-
- @patch.object(BitbucketHelper, 'fetch_access_token', return_value='token')
- @patch.object(bitbucket_pipeline_key_pair, 'get_existing_ssh_key_pair', return_value=None)
- def test_delete_absent_keys(self, *args):
- with patch.object(self.module, 'delete_ssh_key_pair') as delete_ssh_key_pair_mock:
- with self.assertRaises(AnsibleExitJson) as exec_info:
- set_module_args({
- 'client_id': 'ABC',
- 'client_secret': 'XXX',
- 'username': 'name',
- 'repository': 'repo',
- 'state': 'absent',
- })
- self.module.main()
-
- self.assertEqual(delete_ssh_key_pair_mock.call_count, 0)
- self.assertEqual(exec_info.exception.args[0]['changed'], False)
-
- @patch.object(BitbucketHelper, 'fetch_access_token', return_value='token')
- @patch.object(bitbucket_pipeline_key_pair, 'get_existing_ssh_key_pair', return_value={
- 'public_key': 'public',
- 'type': 'pipeline_ssh_key_pair',
- })
- def test_delete_keys_check_mode(self, *args):
- with patch.object(self.module, 'delete_ssh_key_pair') as delete_ssh_key_pair_mock:
- with self.assertRaises(AnsibleExitJson) as exec_info:
- set_module_args({
- 'client_id': 'ABC',
- 'client_secret': 'XXX',
- 'username': 'name',
- 'repository': 'repo',
- 'state': 'absent',
- '_ansible_check_mode': True,
- })
- self.module.main()
-
- self.assertEqual(delete_ssh_key_pair_mock.call_count, 0)
- self.assertEqual(exec_info.exception.args[0]['changed'], True)
-
-
-if __name__ == '__main__':
- unittest.main()
diff --git a/test/units/modules/source_control/bitbucket/test_bitbucket_pipeline_known_host.py b/test/units/modules/source_control/bitbucket/test_bitbucket_pipeline_known_host.py
deleted file mode 100644
index 99bd663957..0000000000
--- a/test/units/modules/source_control/bitbucket/test_bitbucket_pipeline_known_host.py
+++ /dev/null
@@ -1,187 +0,0 @@
-import pytest
-
-from ansible.module_utils.source_control.bitbucket import BitbucketHelper
-from ansible.modules.source_control.bitbucket import bitbucket_pipeline_known_host
-from ansible.modules.source_control.bitbucket.bitbucket_pipeline_known_host import HAS_PARAMIKO
-from units.compat import unittest
-from units.compat.mock import patch
-from units.modules.utils import AnsibleExitJson, ModuleTestCase, set_module_args
-
-
-class TestBucketPipelineKnownHostModule(ModuleTestCase):
- def setUp(self):
- super(TestBucketPipelineKnownHostModule, self).setUp()
- self.module = bitbucket_pipeline_known_host
-
- @pytest.mark.skipif(not HAS_PARAMIKO, reason='paramiko must be installed to test key creation')
- @patch.object(BitbucketHelper, 'fetch_access_token', return_value='token')
- @patch.object(bitbucket_pipeline_known_host, 'get_existing_known_host', return_value=None)
- def test_create_known_host(self, *args):
- with patch.object(self.module, 'create_known_host') as create_known_host_mock:
- with self.assertRaises(AnsibleExitJson) as exec_info:
- set_module_args({
- 'client_id': 'ABC',
- 'client_secret': 'XXX',
- 'username': 'name',
- 'repository': 'repo',
- 'name': 'bitbucket.org',
- 'state': 'present',
- })
- self.module.main()
-
- self.assertEqual(create_known_host_mock.call_count, 1)
- self.assertEqual(exec_info.exception.args[0]['changed'], True)
-
- @patch.object(BitbucketHelper, 'fetch_access_token', return_value='token')
- @patch.object(BitbucketHelper, 'request', return_value=(dict(status=201), dict()))
- @patch.object(bitbucket_pipeline_known_host, 'get_existing_known_host', return_value=None)
- def test_create_known_host_with_key(self, *args):
- with patch.object(self.module, 'get_host_key') as get_host_key_mock:
- with self.assertRaises(AnsibleExitJson) as exec_info:
- set_module_args({
- 'client_id': 'ABC',
- 'client_secret': 'XXX',
- 'username': 'name',
- 'repository': 'repo',
- 'name': 'bitbucket.org',
- 'key': 'ssh-rsa public',
- 'state': 'present',
- })
- self.module.main()
-
- self.assertEqual(get_host_key_mock.call_count, 0)
- self.assertEqual(exec_info.exception.args[0]['changed'], True)
-
- @pytest.mark.skipif(not HAS_PARAMIKO, reason='paramiko must be installed to test key creation')
- @patch.object(BitbucketHelper, 'fetch_access_token', return_value='token')
- @patch.object(bitbucket_pipeline_known_host, 'get_existing_known_host', return_value={
- 'type': 'pipeline_known_host',
- 'uuid': '{21cc0590-bebe-4fae-8baf-03722704119a7}',
- 'hostname': 'bitbucket.org',
- 'public_key': {
- 'type': 'pipeline_ssh_public_key',
- 'md5_fingerprint': 'md5:97:8c:1b:f2:6f:14:6b:4b:3b:ec:aa:46:46:74:7c:40',
- 'sha256_fingerprint': 'SHA256:zzXQOXSFBEiUtuE8AikoYKwbHaxvSc0ojez9YXaGp1A',
- 'key_type': 'ssh-rsa',
- 'key': 'AAAAB3NzaC1yc2EAAAABIwAAAQEAubiN81eDcafrgMeLzaFPsw2kN...seeFVBoGqzHM9yXw=='
- }
- })
- def test_dont_create_same_value(self, *args):
- with patch.object(self.module, 'create_known_host') as create_known_host_mock:
- with self.assertRaises(AnsibleExitJson) as exec_info:
- set_module_args({
- 'client_id': 'ABC',
- 'client_secret': 'XXX',
- 'username': 'name',
- 'repository': 'repo',
- 'name': 'bitbucket.org',
- 'state': 'present',
- })
- self.module.main()
-
- self.assertEqual(create_known_host_mock.call_count, 0)
- self.assertEqual(exec_info.exception.args[0]['changed'], False)
-
- @pytest.mark.skipif(not HAS_PARAMIKO, reason='paramiko must be installed to test key creation')
- @patch.object(BitbucketHelper, 'fetch_access_token', return_value='token')
- @patch.object(bitbucket_pipeline_known_host, 'get_existing_known_host', return_value=None)
- def test_create_known_host_check_mode(self, *args):
- with patch.object(self.module, 'create_known_host') as create_known_host_mock:
- with self.assertRaises(AnsibleExitJson) as exec_info:
- set_module_args({
- 'client_id': 'ABC',
- 'client_secret': 'XXX',
- 'username': 'name',
- 'repository': 'repo',
- 'name': 'bitbucket.org',
- 'state': 'present',
- '_ansible_check_mode': True,
- })
- self.module.main()
-
- self.assertEqual(create_known_host_mock.call_count, 0)
- self.assertEqual(exec_info.exception.args[0]['changed'], True)
-
- @pytest.mark.skipif(not HAS_PARAMIKO, reason='paramiko must be installed to test key creation')
- @patch.object(BitbucketHelper, 'fetch_access_token', return_value='token')
- @patch.object(bitbucket_pipeline_known_host, 'get_existing_known_host', return_value={
- 'type': 'pipeline_known_host',
- 'uuid': '{21cc0590-bebe-4fae-8baf-03722704119a7}',
- 'hostname': 'bitbucket.org',
- 'public_key': {
- 'type': 'pipeline_ssh_public_key',
- 'md5_fingerprint': 'md5:97:8c:1b:f2:6f:14:6b:4b:3b:ec:aa:46:46:74:7c:40',
- 'sha256_fingerprint': 'SHA256:zzXQOXSFBEiUtuE8AikoYKwbHaxvSc0ojez9YXaGp1A',
- 'key_type': 'ssh-rsa',
- 'key': 'AAAAB3NzaC1yc2EAAAABIwAAAQEAubiN81eDcafrgMeLzaFPsw2kN...seeFVBoGqzHM9yXw=='
- }
- })
- def test_delete_known_host(self, *args):
- with patch.object(self.module, 'delete_known_host') as delete_known_host_mock:
- with self.assertRaises(AnsibleExitJson) as exec_info:
- set_module_args({
- 'client_id': 'ABC',
- 'client_secret': 'XXX',
- 'username': 'name',
- 'repository': 'repo',
- 'name': 'bitbucket.org',
- 'state': 'absent',
- })
- self.module.main()
-
- self.assertEqual(delete_known_host_mock.call_count, 1)
- self.assertEqual(exec_info.exception.args[0]['changed'], True)
-
- @pytest.mark.skipif(not HAS_PARAMIKO, reason='paramiko must be installed to test key creation')
- @patch.object(BitbucketHelper, 'fetch_access_token', return_value='token')
- @patch.object(bitbucket_pipeline_known_host, 'get_existing_known_host', return_value=None)
- def test_delete_absent_known_host(self, *args):
- with patch.object(self.module, 'delete_known_host') as delete_known_host_mock:
- with self.assertRaises(AnsibleExitJson) as exec_info:
- set_module_args({
- 'client_id': 'ABC',
- 'client_secret': 'XXX',
- 'username': 'name',
- 'repository': 'repo',
- 'name': 'bitbucket.org',
- 'state': 'absent',
- })
- self.module.main()
-
- self.assertEqual(delete_known_host_mock.call_count, 0)
- self.assertEqual(exec_info.exception.args[0]['changed'], False)
-
- @pytest.mark.skipif(not HAS_PARAMIKO, reason='paramiko must be installed to test key creation')
- @patch.object(BitbucketHelper, 'fetch_access_token', return_value='token')
- @patch.object(bitbucket_pipeline_known_host, 'get_existing_known_host', return_value={
- 'type': 'pipeline_known_host',
- 'uuid': '{21cc0590-bebe-4fae-8baf-03722704119a7}',
- 'hostname': 'bitbucket.org',
- 'public_key': {
- 'type': 'pipeline_ssh_public_key',
- 'md5_fingerprint': 'md5:97:8c:1b:f2:6f:14:6b:4b:3b:ec:aa:46:46:74:7c:40',
- 'sha256_fingerprint': 'SHA256:zzXQOXSFBEiUtuE8AikoYKwbHaxvSc0ojez9YXaGp1A',
- 'key_type': 'ssh-rsa',
- 'key': 'AAAAB3NzaC1yc2EAAAABIwAAAQEAubiN81eDcafrgMeLzaFPsw2kN...seeFVBoGqzHM9yXw=='
- }
- })
- def test_delete_known_host_check_mode(self, *args):
- with patch.object(self.module, 'delete_known_host') as delete_known_host_mock:
- with self.assertRaises(AnsibleExitJson) as exec_info:
- set_module_args({
- 'client_id': 'ABC',
- 'client_secret': 'XXX',
- 'username': 'name',
- 'repository': 'repo',
- 'name': 'bitbucket.org',
- 'state': 'absent',
- '_ansible_check_mode': True,
- })
- self.module.main()
-
- self.assertEqual(delete_known_host_mock.call_count, 0)
- self.assertEqual(exec_info.exception.args[0]['changed'], True)
-
-
-if __name__ == '__main__':
- unittest.main()
diff --git a/test/units/modules/source_control/bitbucket/test_bitbucket_pipeline_variable.py b/test/units/modules/source_control/bitbucket/test_bitbucket_pipeline_variable.py
deleted file mode 100644
index 0cb87d0c5e..0000000000
--- a/test/units/modules/source_control/bitbucket/test_bitbucket_pipeline_variable.py
+++ /dev/null
@@ -1,290 +0,0 @@
-from ansible.module_utils.source_control.bitbucket import BitbucketHelper
-from ansible.modules.source_control.bitbucket import bitbucket_pipeline_variable
-from units.compat import unittest
-from units.compat.mock import patch
-from units.modules.utils import AnsibleFailJson, AnsibleExitJson, ModuleTestCase, set_module_args
-
-
-class TestBucketPipelineVariableModule(ModuleTestCase):
- def setUp(self):
- super(TestBucketPipelineVariableModule, self).setUp()
- self.module = bitbucket_pipeline_variable
-
- def test_without_required_parameters(self):
- with self.assertRaises(AnsibleFailJson) as exec_info:
- set_module_args({
- 'username': 'name',
- 'repository': 'repo',
- 'name': 'PIPELINE_VAR_NAME',
- 'state': 'absent',
- })
- self.module.main()
-
- self.assertEqual(exec_info.exception.args[0]['msg'], BitbucketHelper.error_messages['required_client_id'])
-
- def test_missing_value_with_present_state(self):
- with self.assertRaises(AnsibleFailJson) as exec_info:
- set_module_args({
- 'client_id': 'ABC',
- 'client_secret': 'XXX',
- 'username': 'name',
- 'repository': 'repo',
- 'name': 'PIPELINE_VAR_NAME',
- 'state': 'present',
- })
- self.module.main()
-
- self.assertEqual(exec_info.exception.args[0]['msg'], self.module.error_messages['required_value'])
-
- @patch.dict('os.environ', {
- 'BITBUCKET_CLIENT_ID': 'ABC',
- 'BITBUCKET_CLIENT_SECRET': 'XXX',
- })
- @patch.object(BitbucketHelper, 'fetch_access_token', return_value='token')
- @patch.object(bitbucket_pipeline_variable, 'get_existing_pipeline_variable', return_value=None)
- def test_env_vars_params(self, *args):
- with self.assertRaises(AnsibleExitJson):
- set_module_args({
- 'username': 'name',
- 'repository': 'repo',
- 'name': 'PIPELINE_VAR_NAME',
- 'state': 'absent',
- })
- self.module.main()
-
- @patch.object(BitbucketHelper, 'fetch_access_token', return_value='token')
- @patch.object(bitbucket_pipeline_variable, 'get_existing_pipeline_variable', return_value=None)
- def test_create_variable(self, *args):
- with patch.object(self.module, 'create_pipeline_variable') as create_pipeline_variable_mock:
- with self.assertRaises(AnsibleExitJson) as exec_info:
- set_module_args({
- 'client_id': 'ABC',
- 'client_secret': 'XXX',
- 'username': 'name',
- 'repository': 'repo',
- 'name': 'PIPELINE_VAR_NAME',
- 'value': '42',
- 'state': 'present',
- })
- self.module.main()
-
- self.assertEqual(create_pipeline_variable_mock.call_count, 1)
- self.assertEqual(exec_info.exception.args[0]['changed'], True)
-
- @patch.object(BitbucketHelper, 'fetch_access_token', return_value='token')
- @patch.object(bitbucket_pipeline_variable, 'get_existing_pipeline_variable', return_value=None)
- def test_create_variable_check_mode(self, *args):
- with patch.object(self.module, 'create_pipeline_variable') as create_pipeline_variable_mock:
- with self.assertRaises(AnsibleExitJson) as exec_info:
- set_module_args({
- 'client_id': 'ABC',
- 'client_secret': 'XXX',
- 'username': 'name',
- 'repository': 'repo',
- 'name': 'PIPELINE_VAR_NAME',
- 'value': '42',
- 'state': 'present',
- '_ansible_check_mode': True,
- })
- self.module.main()
-
- self.assertEqual(create_pipeline_variable_mock.call_count, 0)
- self.assertEqual(exec_info.exception.args[0]['changed'], True)
-
- @patch.object(BitbucketHelper, 'fetch_access_token', return_value='token')
- @patch.object(bitbucket_pipeline_variable, 'get_existing_pipeline_variable', return_value={
- 'name': 'PIPELINE_VAR_NAME',
- 'value': 'Im alive',
- 'type': 'pipeline_variable',
- 'secured': False,
- 'uuid': '{9ddb0507-439a-495a- 99f3 - 564f15138127}'
- })
- def test_update_variable(self, *args):
- with patch.object(self.module, 'update_pipeline_variable') as update_pipeline_variable_mock:
- with self.assertRaises(AnsibleExitJson) as exec_info:
- set_module_args({
- 'client_id': 'ABC',
- 'client_secret': 'XXX',
- 'username': 'name',
- 'repository': 'repo',
- 'name': 'PIPELINE_VAR_NAME',
- 'value': '42',
- 'state': 'present',
- })
- self.module.main()
-
- self.assertEqual(update_pipeline_variable_mock.call_count, 1)
- self.assertEqual(exec_info.exception.args[0]['changed'], True)
-
- @patch.object(BitbucketHelper, 'fetch_access_token', return_value='token')
- @patch.object(bitbucket_pipeline_variable, 'get_existing_pipeline_variable', return_value={
- 'name': 'PIPELINE_VAR_NAME',
- 'type': 'pipeline_variable',
- 'secured': True,
- 'uuid': '{9ddb0507-439a-495a- 99f3 - 564f15138127}'
- })
- def test_update_secured_variable(self, *args):
- with patch.object(self.module, 'update_pipeline_variable') as update_pipeline_variable_mock:
- with self.assertRaises(AnsibleExitJson) as exec_info:
- set_module_args({
- 'client_id': 'ABC',
- 'client_secret': 'XXX',
- 'username': 'name',
- 'repository': 'repo',
- 'name': 'PIPELINE_VAR_NAME',
- 'value': '42',
- 'secured': True,
- 'state': 'present',
- })
- self.module.main()
-
- self.assertEqual(update_pipeline_variable_mock.call_count, 1)
- self.assertEqual(exec_info.exception.args[0]['changed'], True)
-
- @patch.object(BitbucketHelper, 'fetch_access_token', return_value='token')
- @patch.object(bitbucket_pipeline_variable, 'get_existing_pipeline_variable', return_value={
- 'name': 'PIPELINE_VAR_NAME',
- 'value': '42',
- 'type': 'pipeline_variable',
- 'secured': False,
- 'uuid': '{9ddb0507-439a-495a- 99f3 - 564f15138127}'
- })
- def test_update_secured_state(self, *args):
- with patch.object(self.module, 'update_pipeline_variable') as update_pipeline_variable_mock:
- with self.assertRaises(AnsibleExitJson) as exec_info:
- set_module_args({
- 'client_id': 'ABC',
- 'client_secret': 'XXX',
- 'username': 'name',
- 'repository': 'repo',
- 'name': 'PIPELINE_VAR_NAME',
- 'value': '42',
- 'secured': True,
- 'state': 'present',
- })
- self.module.main()
-
- self.assertEqual(update_pipeline_variable_mock.call_count, 1)
- self.assertEqual(exec_info.exception.args[0]['changed'], True)
-
- @patch.object(BitbucketHelper, 'fetch_access_token', return_value='token')
- @patch.object(bitbucket_pipeline_variable, 'get_existing_pipeline_variable', return_value={
- 'name': 'PIPELINE_VAR_NAME',
- 'value': '42',
- 'type': 'pipeline_variable',
- 'secured': False,
- 'uuid': '{9ddb0507-439a-495a- 99f3 - 564f15138127}'
- })
- def test_dont_update_same_value(self, *args):
- with patch.object(self.module, 'update_pipeline_variable') as update_pipeline_variable_mock:
- with self.assertRaises(AnsibleExitJson) as exec_info:
- set_module_args({
- 'client_id': 'ABC',
- 'client_secret': 'XXX',
- 'username': 'name',
- 'repository': 'repo',
- 'name': 'PIPELINE_VAR_NAME',
- 'value': '42',
- 'state': 'present',
- })
- self.module.main()
-
- self.assertEqual(update_pipeline_variable_mock.call_count, 0)
- self.assertEqual(exec_info.exception.args[0]['changed'], False)
-
- @patch.object(BitbucketHelper, 'fetch_access_token', return_value='token')
- @patch.object(bitbucket_pipeline_variable, 'get_existing_pipeline_variable', return_value={
- 'name': 'PIPELINE_VAR_NAME',
- 'value': 'Im alive',
- 'type': 'pipeline_variable',
- 'secured': False,
- 'uuid': '{9ddb0507-439a-495a- 99f3 - 564f15138127}'
- })
- def test_update_variable_check_mode(self, *args):
- with patch.object(self.module, 'update_pipeline_variable') as update_pipeline_variable_mock:
- with self.assertRaises(AnsibleExitJson) as exec_info:
- set_module_args({
- 'client_id': 'ABC',
- 'client_secret': 'XXX',
- 'username': 'name',
- 'repository': 'repo',
- 'name': 'PIPELINE_VAR_NAME',
- 'value': '42',
- 'state': 'present',
- '_ansible_check_mode': True,
- })
- self.module.main()
-
- self.assertEqual(update_pipeline_variable_mock.call_count, 0)
- self.assertEqual(exec_info.exception.args[0]['changed'], True)
-
- @patch.object(BitbucketHelper, 'fetch_access_token', return_value='token')
- @patch.object(bitbucket_pipeline_variable, 'get_existing_pipeline_variable', return_value={
- 'name': 'PIPELINE_VAR_NAME',
- 'value': 'Im alive',
- 'type': 'pipeline_variable',
- 'secured': False,
- 'uuid': '{9ddb0507-439a-495a- 99f3 - 564f15138127}'
- })
- def test_delete_variable(self, *args):
- with patch.object(self.module, 'delete_pipeline_variable') as delete_pipeline_variable_mock:
- with self.assertRaises(AnsibleExitJson) as exec_info:
- set_module_args({
- 'client_id': 'ABC',
- 'client_secret': 'XXX',
- 'username': 'name',
- 'repository': 'repo',
- 'name': 'PIPELINE_VAR_NAME',
- 'state': 'absent',
- })
- self.module.main()
-
- self.assertEqual(delete_pipeline_variable_mock.call_count, 1)
- self.assertEqual(exec_info.exception.args[0]['changed'], True)
-
- @patch.object(BitbucketHelper, 'fetch_access_token', return_value='token')
- @patch.object(bitbucket_pipeline_variable, 'get_existing_pipeline_variable', return_value=None)
- def test_delete_absent_variable(self, *args):
- with patch.object(self.module, 'delete_pipeline_variable') as delete_pipeline_variable_mock:
- with self.assertRaises(AnsibleExitJson) as exec_info:
- set_module_args({
- 'client_id': 'ABC',
- 'client_secret': 'XXX',
- 'username': 'name',
- 'repository': 'repo',
- 'name': 'PIPELINE_VAR_NAME',
- 'state': 'absent',
- })
- self.module.main()
-
- self.assertEqual(delete_pipeline_variable_mock.call_count, 0)
- self.assertEqual(exec_info.exception.args[0]['changed'], False)
-
- @patch.object(BitbucketHelper, 'fetch_access_token', return_value='token')
- @patch.object(bitbucket_pipeline_variable, 'get_existing_pipeline_variable', return_value={
- 'name': 'PIPELINE_VAR_NAME',
- 'value': 'Im alive',
- 'type': 'pipeline_variable',
- 'secured': False,
- 'uuid': '{9ddb0507-439a-495a- 99f3 - 564f15138127}'
- })
- def test_delete_variable_check_mode(self, *args):
- with patch.object(self.module, 'delete_pipeline_variable') as delete_pipeline_variable_mock:
- with self.assertRaises(AnsibleExitJson) as exec_info:
- set_module_args({
- 'client_id': 'ABC',
- 'client_secret': 'XXX',
- 'username': 'name',
- 'repository': 'repo',
- 'name': 'PIPELINE_VAR_NAME',
- 'state': 'absent',
- '_ansible_check_mode': True,
- })
- self.module.main()
-
- self.assertEqual(delete_pipeline_variable_mock.call_count, 0)
- self.assertEqual(exec_info.exception.args[0]['changed'], True)
-
-
-if __name__ == '__main__':
- unittest.main()
diff --git a/test/units/modules/source_control/gitlab/gitlab.py b/test/units/modules/source_control/gitlab/gitlab.py
deleted file mode 100644
index aacada058e..0000000000
--- a/test/units/modules/source_control/gitlab/gitlab.py
+++ /dev/null
@@ -1,580 +0,0 @@
-# -*- coding: utf-8 -*-
-
-# Copyright: (c) 2019, Guillaume Martinez (lunik@tiwabbit.fr)
-# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
-
-from __future__ import absolute_import
-
-import sys
-
-from httmock import response # noqa
-from httmock import urlmatch # noqa
-
-from units.compat import unittest
-
-from gitlab import Gitlab
-
-
-class FakeAnsibleModule(object):
- def __init__(self):
- self.check_mode = False
-
- def fail_json(self, **args):
- pass
-
- def exit_json(self, **args):
- pass
-
-
-class GitlabModuleTestCase(unittest.TestCase):
- def setUp(self):
- unitest_python_version_check_requirement(self)
-
- self.mock_module = FakeAnsibleModule()
-
- self.gitlab_instance = Gitlab("http://localhost", private_token="private_token", api_version=4)
-
-
-# Python 2.7+ is needed for python-gitlab
-GITLAB_MINIMUM_PYTHON_VERSION = (2, 7)
-
-
-# Verify if the current Python version is higher than GITLAB_MINIMUM_PYTHON_VERSION
-def python_version_match_requirement():
- return sys.version_info >= GITLAB_MINIMUM_PYTHON_VERSION
-
-
-# Skip unittest test case if python version don't match requirement
-def unitest_python_version_check_requirement(unittest_testcase):
- if not python_version_match_requirement():
- unittest_testcase.skipTest("Python %s+ is needed for python-gitlab" % ",".join(map(str, GITLAB_MINIMUM_PYTHON_VERSION)))
-
-
-'''
-USER API
-'''
-
-
-@urlmatch(scheme="http", netloc="localhost", path="/api/v4/users", method="get")
-def resp_find_user(url, request):
- headers = {'content-type': 'application/json'}
- content = ('[{"id": 1, "username": "john_smith", "name": "John Smith", "state": "active",'
- '"avatar_url": "http://localhost:3000/uploads/user/avatar/1/cd8.jpeg",'
- '"web_url": "http://localhost:3000/john_smith"}, {"id": 2,'
- '"username": "jack_smith", "name": "Jack Smith", "state": "blocked",'
- '"avatar_url": "http://gravatar.com/../e32131cd8.jpeg",'
- '"web_url": "http://localhost:3000/jack_smith"}]')
- content = content.encode("utf-8")
- return response(200, content, headers, None, 5, request)
-
-
-@urlmatch(scheme="http", netloc="localhost", path="/api/v4/users", method="post")
-def resp_create_user(url, request):
- headers = {'content-type': 'application/json'}
- content = ('{"id": 1, "username": "john_smith", "name": "John Smith", "state": "active",'
- '"avatar_url": "http://localhost:3000/uploads/user/avatar/1/cd8.jpeg",'
- '"web_url": "http://localhost:3000/john_smith","created_at": "2012-05-23T08:00:58Z",'
- '"bio": null, "location": null, "public_email": "john@example.com", "skype": "",'
- '"linkedin": "", "twitter": "", "website_url": "", "organization": ""}')
- content = content.encode("utf-8")
- return response(201, content, headers, None, 5, request)
-
-
-@urlmatch(scheme="http", netloc="localhost", path="/api/v4/users/1", method="get")
-def resp_get_user(url, request):
- headers = {'content-type': 'application/json'}
- content = ('{"id": 1, "username": "john_smith", "name": "John Smith",'
- '"state": "active",'
- '"avatar_url": "http://localhost:3000/uploads/user/avatar/1/cd8.jpeg",'
- '"web_url": "http://localhost:3000/john_smith",'
- '"created_at": "2012-05-23T08:00:58Z", "bio": null, "location": null,'
- '"public_email": "john@example.com", "skype": "", "linkedin": "",'
- '"twitter": "", "website_url": "", "organization": "", "is_admin": false}')
- content = content.encode("utf-8")
- return response(200, content, headers, None, 5, request)
-
-
-@urlmatch(scheme="http", netloc="localhost", path="/api/v4/users/1", method="get")
-def resp_get_missing_user(url, request):
- headers = {'content-type': 'application/json'}
- content = ('{}')
- content = content.encode("utf-8")
- return response(404, content, headers, None, 5, request)
-
-
-@urlmatch(scheme="http", netloc="localhost", path="/api/v4/users/1", method="delete")
-def resp_delete_user(url, request):
- headers = {'content-type': 'application/json'}
- content = ('{}')
- content = content.encode("utf-8")
- return response(204, content, headers, None, 5, request)
-
-
-@urlmatch(scheme="http", netloc="localhost", path="/api/v4/users/1", method="delete")
-def resp_delete_missing_user(url, request):
- headers = {'content-type': 'application/json'}
- content = ('{}')
- content = content.encode("utf-8")
- return response(404, content, headers, None, 5, request)
-
-
-'''
-USER SSHKEY API
-'''
-
-
-@urlmatch(scheme="http", netloc="localhost", path="/api/v4/users/1/keys", method="get")
-def resp_get_user_keys(url, request):
- headers = {'content-type': 'application/json'}
- content = ('[{"id": 1, "title": "Public key",'
- '"key": "ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAIEAiPWx6WM4lhHNedGfBpPJNPpZ7yKu+dnn1SJejgt4596'
- 'k6YjzGGphH2TUxwKzxcKDKKezwkpfnxPkSMkuEspGRt/aZZ9wa++Oi7Qkr8prgHc4soW6NUlfDzpvZK2H5E7eQa'
- 'SeP3SAwGmQKUFHCddNaP0L+hM7zhFNzjFvpaMgJw0=",'
- '"created_at": "2014-08-01T14:47:39.080Z"},{"id": 3,'
- '"title": "Another Public key",'
- '"key": "ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAIEAiPWx6WM4lhHNedGfBpPJNPpZ7yKu+dnn1SJejgt4596'
- 'k6YjzGGphH2TUxwKzxcKDKKezwkpfnxPkSMkuEspGRt/aZZ9wa++Oi7Qkr8prgHc4soW6NUlfDzpvZK2H5E7eQaS'
- 'eP3SAwGmQKUFHCddNaP0L+hM7zhFNzjFvpaMgJw0=",'
- '"created_at": "2014-08-01T14:47:39.080Z"}]')
- content = content.encode("utf-8")
- return response(200, content, headers, None, 5, request)
-
-
-@urlmatch(scheme="http", netloc="localhost", path="/api/v4/users/1/keys", method="post")
-def resp_create_user_keys(url, request):
- headers = {'content-type': 'application/json'}
- content = ('{"id": 1, "title": "Private key",'
- '"key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDA1YotVDm2mAyk2tPt4E7AHm01sS6JZmcUdRuSuA5z'
- 'szUJzYPPUSRAX3BCgTqLqYx//UuVncK7YqLVSbbwjKR2Ez5lISgCnVfLVEXzwhv+xawxKWmI7hJ5S0tOv6MJ+Ixy'
- 'Ta4xcKwJTwB86z22n9fVOQeJTR2dSOH1WJrf0PvRk+KVNY2jTiGHTi9AIjLnyD/jWRpOgtdfkLRc8EzAWrWlgNmH'
- '2WOKBw6za0az6XoG75obUdFVdW3qcD0xc809OHLi7FDf+E7U4wiZJCFuUizMeXyuK/SkaE1aee4Qp5R4dxTR4TP9'
- 'M1XAYkf+kF0W9srZ+mhF069XD/zhUPJsvwEF",'
- '"created_at": "2014-08-01T14:47:39.080Z"}')
- content = content.encode("utf-8")
- return response(201, content, headers, None, 5, request)
-
-
-'''
-GROUP API
-'''
-
-
-@urlmatch(scheme="http", netloc="localhost", path="/api/v4/groups", method="get")
-def resp_find_group(url, request):
- headers = {'content-type': 'application/json'}
- content = ('[{"id": 1, "name": "Foobar Group", "path": "foo-bar",'
- '"description": "An interesting group", "visibility": "public",'
- '"lfs_enabled": true, "avatar_url": "http://localhost:3000/uploads/group/avatar/1/foo.jpg",'
- '"web_url": "http://localhost:3000/groups/foo-bar", "request_access_enabled": false,'
- '"full_name": "Foobar Group", "full_path": "foo-bar",'
- '"file_template_project_id": 1, "parent_id": null, "projects": []}, {"id": 2, "name": "BarFoo Group", "path": "bar-foor",'
- '"description": "An interesting group", "visibility": "public",'
- '"lfs_enabled": true, "avatar_url": "http://localhost:3000/uploads/group/avatar/2/bar.jpg",'
- '"web_url": "http://localhost:3000/groups/bar-foo", "request_access_enabled": false,'
- '"full_name": "BarFoo Group", "full_path": "bar-foo",'
- '"file_template_project_id": 1, "parent_id": null, "projects": []}]')
- content = content.encode("utf-8")
- return response(200, content, headers, None, 5, request)
-
-
-@urlmatch(scheme="http", netloc="localhost", path="/api/v4/groups/1", method="get")
-def resp_get_group(url, request):
- headers = {'content-type': 'application/json'}
- content = ('{"id": 1, "name": "Foobar Group", "path": "foo-bar",'
- '"description": "An interesting group", "visibility": "public",'
- '"lfs_enabled": true, "avatar_url": "http://localhost:3000/uploads/group/avatar/1/foo.jpg",'
- '"web_url": "http://localhost:3000/groups/foo-bar", "request_access_enabled": false,'
- '"full_name": "Foobar Group", "full_path": "foo-bar",'
- '"file_template_project_id": 1, "parent_id": null, "projects": [{"id": 1,"description": null, "default_branch": "master",'
- '"ssh_url_to_repo": "git@example.com:diaspora/diaspora-client.git",'
- '"http_url_to_repo": "http://example.com/diaspora/diaspora-client.git",'
- '"web_url": "http://example.com/diaspora/diaspora-client",'
- '"readme_url": "http://example.com/diaspora/diaspora-client/blob/master/README.md",'
- '"tag_list": ["example","disapora client"],"name": "Diaspora Client",'
- '"name_with_namespace": "Diaspora / Diaspora Client","path": "diaspora-client",'
- '"path_with_namespace": "diaspora/diaspora-client","created_at": "2013-09-30T13:46:02Z",'
- '"last_activity_at": "2013-09-30T13:46:02Z","forks_count": 0,'
- '"avatar_url": "http://example.com/uploads/project/avatar/4/uploads/avatar.png",'
- '"star_count": 0}]}')
- content = content.encode("utf-8")
- return response(200, content, headers, None, 5, request)
-
-
-@urlmatch(scheme="http", netloc="localhost", path="/api/v4/groups/1", method="get")
-def resp_get_missing_group(url, request):
- headers = {'content-type': 'application/json'}
- content = ('{}')
- content = content.encode("utf-8")
- return response(404, content, headers, None, 5, request)
-
-
-@urlmatch(scheme="http", netloc="localhost", path="/api/v4/groups", method="post")
-def resp_create_group(url, request):
- headers = {'content-type': 'application/json'}
- content = ('{"id": 1, "name": "Foobar Group", "path": "foo-bar",'
- '"description": "An interesting group", "visibility": "public",'
- '"lfs_enabled": true, "avatar_url": "http://localhost:3000/uploads/group/avatar/1/foo.jpg",'
- '"web_url": "http://localhost:3000/groups/foo-bar", "request_access_enabled": false,'
- '"full_name": "Foobar Group", "full_path": "foo-bar",'
- '"file_template_project_id": 1, "parent_id": null}')
- content = content.encode("utf-8")
- return response(200, content, headers, None, 5, request)
-
-
-@urlmatch(scheme="http", netloc="localhost", path="/api/v4/groups", method="post")
-def resp_create_subgroup(url, request):
- headers = {'content-type': 'application/json'}
- content = ('{"id": 2, "name": "BarFoo Group", "path": "bar-foor",'
- '"description": "An interesting group", "visibility": "public",'
- '"lfs_enabled": true, "avatar_url": "http://localhost:3000/uploads/group/avatar/2/bar.jpg",'
- '"web_url": "http://localhost:3000/groups/foo-bar/bar-foo", "request_access_enabled": false,'
- '"full_name": "BarFoo Group", "full_path": "foo-bar/bar-foo",'
- '"file_template_project_id": 1, "parent_id": 1}')
- content = content.encode("utf-8")
- return response(200, content, headers, None, 5, request)
-
-
-@urlmatch(scheme="http", netloc="localhost", path="/api/v4/users/1", method="delete")
-def resp_delete_group(url, request):
- headers = {'content-type': 'application/json'}
- content = ('{}')
- content = content.encode("utf-8")
- return response(204, content, headers, None, 5, request)
-
-
-'''
-GROUP MEMBER API
-'''
-
-
-@urlmatch(scheme="http", netloc="localhost", path="/api/v4/groups/1/members/1", method="get")
-def resp_get_member(url, request):
- headers = {'content-type': 'application/json'}
- content = ('{"id": 1, "username": "raymond_smith", "name": "Raymond Smith", "state": "active",'
- '"avatar_url": "https://www.gravatar.com/avatar/c2525a7f58ae3776070e44c106c48e15?s=80&d=identicon",'
- '"web_url": "http://192.168.1.8:3000/root", "expires_at": "2012-10-22T14:13:35Z", "access_level": 30}')
- content = content.encode("utf-8")
- return response(200, content, headers, None, 5, request)
-
-
-@urlmatch(scheme="http", netloc="localhost", path="/api/v4/groups/1/members", method="get")
-def resp_find_member(url, request):
- headers = {'content-type': 'application/json'}
- content = ('[{"id": 1, "username": "raymond_smith", "name": "Raymond Smith", "state": "active",'
- '"avatar_url": "https://www.gravatar.com/avatar/c2525a7f58ae3776070e44c106c48e15?s=80&d=identicon",'
- '"web_url": "http://192.168.1.8:3000/root", "expires_at": "2012-10-22T14:13:35Z", "access_level": 30},{'
- '"id": 2, "username": "john_doe", "name": "John Doe","state": "active",'
- '"avatar_url": "https://www.gravatar.com/avatar/c2525a7f58ae3776070e44c106c48e15?s=80&d=identicon",'
- '"web_url": "http://192.168.1.8:3000/root","expires_at": "2012-10-22T14:13:35Z",'
- '"access_level": 30}]')
- content = content.encode("utf-8")
- return response(200, content, headers, None, 5, request)
-
-
-@urlmatch(scheme="http", netloc="localhost", path="/api/v4/groups/1/members", method="post")
-def resp_add_member(url, request):
- headers = {'content-type': 'application/json'}
- content = ('{"id": 1, "username": "raymond_smith", "name": "Raymond Smith",'
- '"state": "active",'
- '"avatar_url": "https://www.gravatar.com/avatar/c2525a7f58ae3776070e44c106c48e15?s=80&d=identicon",'
- '"web_url": "http://192.168.1.8:3000/root", "expires_at": "2012-10-22T14:13:35Z",'
- '"access_level": 30}')
- content = content.encode("utf-8")
- return response(200, content, headers, None, 5, request)
-
-
-@urlmatch(scheme="http", netloc="localhost", path="/api/v4/groups/1/members/1", method="put")
-def resp_update_member(url, request):
- headers = {'content-type': 'application/json'}
- content = ('{"id": 1, "username": "raymond_smith", "name": "Raymond Smith",'
- '"state": "active",'
- '"avatar_url": "https://www.gravatar.com/avatar/c2525a7f58ae3776070e44c106c48e15?s=80&d=identicon",'
- '"web_url": "http://192.168.1.8:3000/root", "expires_at": "2012-10-22T14:13:35Z",'
- '"access_level": 10}')
- content = content.encode("utf-8")
- return response(200, content, headers, None, 5, request)
-
-
-'''
-DEPLOY KEY API
-'''
-
-
-@urlmatch(scheme="http", netloc="localhost", path="/api/v4/projects/1/deploy_keys", method="get")
-def resp_find_project_deploy_key(url, request):
- headers = {'content-type': 'application/json'}
- content = ('[{"id": 1,"title": "Public key",'
- '"key": "ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAIEAiPWx6WM4lhHNedGfBpPJNPpZ7yKu+dnn1SJejgt4596k6YjzGGphH2TUxwKzxc'
- 'KDKKezwkpfnxPkSMkuEspGRt/aZZ9wa++Oi7Qkr8prgHc4soW6NUlfDzpvZK2H5E7eQaSeP3SAwGmQKUFHCddNaP0L+hM7zhFNzjFvpaMgJw0=",'
- '"created_at": "2013-10-02T10:12:29Z"},{"id": 3,"title": "Another Public key",'
- '"key": "ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAIEAiPWx6WM4lhHNedGfBpPJNPpZ7yKu+dnn1SJejgt4596k6YjzGGphH2TUxwKzxc'
- 'KDKKezwkpfnxPkSMkuEspGRt/aZZ9wa++Oi7Qkr8prgHc4soW6NUlfDzpvZK2H5E7eQaSeP3SAwGmQKUFHCddNaP0L+hM7zhFNzjFvpaMgJw0=",'
- '"created_at": "2013-10-02T11:12:29Z"}]')
- content = content.encode("utf-8")
- return response(200, content, headers, None, 5, request)
-
-
-@urlmatch(scheme="http", netloc="localhost", path="/api/v4/projects/1/deploy_keys/1", method="get")
-def resp_get_project_deploy_key(url, request):
- headers = {'content-type': 'application/json'}
- content = ('{"id": 1,"title": "Public key",'
- '"key": "ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAIEAiPWx6WM4lhHNedGfBpPJNPpZ7yKu+dnn1SJejgt4596k6YjzGGphH2TUxwKzxc'
- 'KDKKezwkpfnxPkSMkuEspGRt/aZZ9wa++Oi7Qkr8prgHc4soW6NUlfDzpvZK2H5E7eQaSeP3SAwGmQKUFHCddNaP0L+hM7zhFNzjFvpaMgJw0=",'
- '"created_at": "2013-10-02T10:12:29Z"}')
- content = content.encode("utf-8")
- return response(200, content, headers, None, 5, request)
-
-
-@urlmatch(scheme="http", netloc="localhost", path="/api/v4/projects/1/deploy_keys", method="post")
-def resp_create_project_deploy_key(url, request):
- headers = {'content-type': 'application/json'}
- content = ('{"id": 1,"title": "Public key",'
- '"key": "ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAIEAiPWx6WM4lhHNedGfBpPJNPpZ7yKu+dnn1SJejgt4596k6YjzGGphH2TUxwKzxc'
- 'KDKKezwkpfnxPkSMkuEspGRt/aZZ9wa++Oi7Qkr8prgHc4soW6NUlfDzpvZK2H5E7eQaSeP3SAwGmQKUFHCddNaP0L+hM7zhFNzjFvpaMgJw0=",'
- '"created_at": "2013-10-02T10:12:29Z"}')
- content = content.encode("utf-8")
- return response(201, content, headers, None, 5, request)
-
-
-@urlmatch(scheme="http", netloc="localhost", path="/api/v4/projects/1/deploy_keys/1", method="delete")
-def resp_delete_project_deploy_key(url, request):
- headers = {'content-type': 'application/json'}
- content = ('{}')
- content = content.encode("utf-8")
- return response(204, content, headers, None, 5, request)
-
-
-'''
-PROJECT API
-'''
-
-
-@urlmatch(scheme="http", netloc="localhost", path="/api/v4/projects", method="get")
-def resp_find_project(url, request):
- headers = {'content-type': 'application/json'}
- content = ('[{"id": 1,"description": null, "default_branch": "master",'
- '"ssh_url_to_repo": "git@example.com:diaspora/diaspora-client.git",'
- '"http_url_to_repo": "http://example.com/diaspora/diaspora-client.git",'
- '"web_url": "http://example.com/diaspora/diaspora-client",'
- '"readme_url": "http://example.com/diaspora/diaspora-client/blob/master/README.md",'
- '"tag_list": ["example","disapora client"],"name": "Diaspora Client",'
- '"name_with_namespace": "Diaspora / Diaspora Client","path": "diaspora-client",'
- '"path_with_namespace": "diaspora/diaspora-client","created_at": "2013-09-30T13:46:02Z",'
- '"last_activity_at": "2013-09-30T13:46:02Z","forks_count": 0,'
- '"avatar_url": "http://example.com/uploads/project/avatar/4/uploads/avatar.png",'
- '"star_count": 0}]')
- content = content.encode("utf-8")
- return response(200, content, headers, None, 5, request)
-
-
-@urlmatch(scheme="http", netloc="localhost", path="/api/v4/projects/1", method="get")
-def resp_get_project(url, request):
- headers = {'content-type': 'application/json'}
- content = ('{"id": 1,"description": null, "default_branch": "master",'
- '"ssh_url_to_repo": "git@example.com:diaspora/diaspora-client.git",'
- '"http_url_to_repo": "http://example.com/diaspora/diaspora-client.git",'
- '"web_url": "http://example.com/diaspora/diaspora-client",'
- '"readme_url": "http://example.com/diaspora/diaspora-client/blob/master/README.md",'
- '"tag_list": ["example","disapora client"],"name": "Diaspora Client",'
- '"name_with_namespace": "Diaspora / Diaspora Client","path": "diaspora-client",'
- '"path_with_namespace": "diaspora/diaspora-client","created_at": "2013-09-30T13:46:02Z",'
- '"last_activity_at": "2013-09-30T13:46:02Z","forks_count": 0,'
- '"avatar_url": "http://example.com/uploads/project/avatar/4/uploads/avatar.png",'
- '"star_count": 0}')
- content = content.encode("utf-8")
- return response(200, content, headers, None, 5, request)
-
-
-@urlmatch(scheme="http", netloc="localhost", path="/api/v4/projects/foo-bar%2Fdiaspora-client", method="get")
-def resp_get_project_by_name(url, request):
- headers = {'content-type': 'application/json'}
- content = ('{"id": 1,"description": null, "default_branch": "master",'
- '"ssh_url_to_repo": "git@example.com:diaspora/diaspora-client.git",'
- '"http_url_to_repo": "http://example.com/diaspora/diaspora-client.git",'
- '"web_url": "http://example.com/diaspora/diaspora-client",'
- '"readme_url": "http://example.com/diaspora/diaspora-client/blob/master/README.md",'
- '"tag_list": ["example","disapora client"],"name": "Diaspora Client",'
- '"name_with_namespace": "Diaspora / Diaspora Client","path": "diaspora-client",'
- '"path_with_namespace": "diaspora/diaspora-client","created_at": "2013-09-30T13:46:02Z",'
- '"last_activity_at": "2013-09-30T13:46:02Z","forks_count": 0,'
- '"avatar_url": "http://example.com/uploads/project/avatar/4/uploads/avatar.png",'
- '"star_count": 0}')
- content = content.encode("utf-8")
- return response(200, content, headers, None, 5, request)
-
-
-@urlmatch(scheme="http", netloc="localhost", path="/api/v4/groups/1/projects", method="get")
-def resp_find_group_project(url, request):
- headers = {'content-type': 'application/json'}
- content = ('[{"id": 1,"description": null, "default_branch": "master",'
- '"ssh_url_to_repo": "git@example.com:diaspora/diaspora-client.git",'
- '"http_url_to_repo": "http://example.com/diaspora/diaspora-client.git",'
- '"web_url": "http://example.com/diaspora/diaspora-client",'
- '"readme_url": "http://example.com/diaspora/diaspora-client/blob/master/README.md",'
- '"tag_list": ["example","disapora client"],"name": "Diaspora Client",'
- '"name_with_namespace": "Diaspora / Diaspora Client","path": "diaspora-client",'
- '"path_with_namespace": "diaspora/diaspora-client","created_at": "2013-09-30T13:46:02Z",'
- '"last_activity_at": "2013-09-30T13:46:02Z","forks_count": 0,'
- '"avatar_url": "http://example.com/uploads/project/avatar/4/uploads/avatar.png",'
- '"star_count": 0}]')
- content = content.encode("utf-8")
- return response(200, content, headers, None, 5, request)
-
-
-@urlmatch(scheme="http", netloc="localhost", path="/api/v4/groups/1/projects/1", method="get")
-def resp_get_group_project(url, request):
- headers = {'content-type': 'application/json'}
- content = ('{"id": 1,"description": null, "default_branch": "master",'
- '"ssh_url_to_repo": "git@example.com:diaspora/diaspora-client.git",'
- '"http_url_to_repo": "http://example.com/diaspora/diaspora-client.git",'
- '"web_url": "http://example.com/diaspora/diaspora-client",'
- '"readme_url": "http://example.com/diaspora/diaspora-client/blob/master/README.md",'
- '"tag_list": ["example","disapora client"],"name": "Diaspora Client",'
- '"name_with_namespace": "Diaspora / Diaspora Client","path": "diaspora-client",'
- '"path_with_namespace": "diaspora/diaspora-client","created_at": "2013-09-30T13:46:02Z",'
- '"last_activity_at": "2013-09-30T13:46:02Z","forks_count": 0,'
- '"avatar_url": "http://example.com/uploads/project/avatar/4/uploads/avatar.png",'
- '"star_count": 0}')
- content = content.encode("utf-8")
- return response(200, content, headers, None, 5, request)
-
-
-@urlmatch(scheme="http", netloc="localhost", path="/api/v4/projects", method="post")
-def resp_create_project(url, request):
- headers = {'content-type': 'application/json'}
- content = ('{"id": 1,"description": null, "default_branch": "master",'
- '"ssh_url_to_repo": "git@example.com:diaspora/diaspora-client.git",'
- '"http_url_to_repo": "http://example.com/diaspora/diaspora-client.git",'
- '"web_url": "http://example.com/diaspora/diaspora-client",'
- '"readme_url": "http://example.com/diaspora/diaspora-client/blob/master/README.md",'
- '"tag_list": ["example","disapora client"],"name": "Diaspora Client",'
- '"name_with_namespace": "Diaspora / Diaspora Client","path": "diaspora-client",'
- '"path_with_namespace": "diaspora/diaspora-client","created_at": "2013-09-30T13:46:02Z",'
- '"last_activity_at": "2013-09-30T13:46:02Z","forks_count": 0,'
- '"avatar_url": "http://example.com/uploads/project/avatar/4/uploads/avatar.png",'
- '"star_count": 0}')
- content = content.encode("utf-8")
- return response(201, content, headers, None, 5, request)
-
-
-@urlmatch(scheme="http", netloc="localhost", path="/api/v4/projects/1", method="delete")
-def resp_delete_project(url, request):
- headers = {'content-type': 'application/json'}
- content = ('{}')
- content = content.encode("utf-8")
-
- return response(204, content, headers, None, 5, request)
-
-
-'''
-HOOK API
-'''
-
-
-@urlmatch(scheme="http", netloc="localhost", path="/api/v4/projects/1/hooks", method="get")
-def resp_find_project_hook(url, request):
- headers = {'content-type': 'application/json'}
- content = ('[{"id": 1,"url": "http://example.com/hook","project_id": 3,'
- '"push_events": true,"push_events_branch_filter": "","issues_events": true,'
- '"confidential_issues_events": true,"merge_requests_events": true,'
- '"tag_push_events": true,"note_events": true,"job_events": true,'
- '"pipeline_events": true,"wiki_page_events": true,"enable_ssl_verification": true,'
- '"created_at": "2012-10-12T17:04:47Z"}]')
- content = content.encode("utf-8")
- return response(200, content, headers, None, 5, request)
-
-
-@urlmatch(scheme="http", netloc="localhost", path="/api/v4/projects/1/hooks/1", method="get")
-def resp_get_project_hook(url, request):
- headers = {'content-type': 'application/json'}
- content = ('{"id": 1,"url": "http://example.com/hook","project_id": 3,'
- '"push_events": true,"push_events_branch_filter": "","issues_events": true,'
- '"confidential_issues_events": true,"merge_requests_events": true,'
- '"tag_push_events": true,"note_events": true,"job_events": true,'
- '"pipeline_events": true,"wiki_page_events": true,"enable_ssl_verification": true,'
- '"created_at": "2012-10-12T17:04:47Z"}')
- content = content.encode("utf-8")
- return response(200, content, headers, None, 5, request)
-
-
-@urlmatch(scheme="http", netloc="localhost", path="/api/v4/projects/1/hooks", method="post")
-def resp_create_project_hook(url, request):
- headers = {'content-type': 'application/json'}
- content = ('{"id": 1,"url": "http://example.com/hook","project_id": 3,'
- '"push_events": true,"push_events_branch_filter": "","issues_events": true,'
- '"confidential_issues_events": true,"merge_requests_events": true,'
- '"tag_push_events": true,"note_events": true,"job_events": true,'
- '"pipeline_events": true,"wiki_page_events": true,"enable_ssl_verification": true,'
- '"created_at": "2012-10-12T17:04:47Z"}')
- content = content.encode("utf-8")
- return response(201, content, headers, None, 5, request)
-
-
-@urlmatch(scheme="http", netloc="localhost", path="/api/v4/projects/1/hooks/1", method="delete")
-def resp_delete_project_hook(url, request):
- headers = {'content-type': 'application/json'}
- content = ('{}')
- content = content.encode("utf-8")
- return response(204, content, headers, None, 5, request)
-
-
-'''
-RUNNER API
-'''
-
-
-@urlmatch(scheme="http", netloc="localhost", path="/api/v4/runners/all", method="get")
-def resp_find_runners_all(url, request):
- headers = {'content-type': 'application/json'}
- content = ('[{"active": true,"description": "test-1-20150125","id": 1,'
- '"is_shared": false,"ip_address": "127.0.0.1","name": null,'
- '"online": true,"status": "online"},{"active": true,'
- '"description": "test-2-20150125","id": 2,"ip_address": "127.0.0.1",'
- '"is_shared": false,"name": null,"online": false,"status": "offline"}]')
- content = content.encode("utf-8")
- return response(200, content, headers, None, 5, request)
-
-
-@urlmatch(scheme="http", netloc="localhost", path="/api/v4/runners", method="get")
-def resp_find_runners_list(url, request):
- headers = {'content-type': 'application/json',
- "X-Page": 1,
- "X-Next-Page": 2,
- "X-Per-Page": 1,
- "X-Total-Pages": 1,
- "X-Total": 2}
- content = ('[{"active": true,"description": "test-1-20150125","id": 1,'
- '"is_shared": false,"ip_address": "127.0.0.1","name": null,'
- '"online": true,"status": "online"},{"active": true,'
- '"description": "test-2-20150125","id": 2,"ip_address": "127.0.0.1",'
- '"is_shared": false,"name": null,"online": false,"status": "offline"}]')
- content = content.encode("utf-8")
- return response(200, content, headers, None, 5, request)
-
-
-@urlmatch(scheme="http", netloc="localhost", path="/api/v4/runners/1", method="get")
-def resp_get_runner(url, request):
- headers = {'content-type': 'application/json'}
- content = ('{"active": true,"description": "test-1-20150125","id": 1,'
- '"is_shared": false,"ip_address": "127.0.0.1","name": null,'
- '"online": true,"status": "online"}')
- content = content.encode("utf-8")
- return response(200, content, headers, None, 5, request)
-
-
-@urlmatch(scheme="http", netloc="localhost", path="/api/v4/runners", method="post")
-def resp_create_runner(url, request):
- headers = {'content-type': 'application/json'}
- content = ('{"active": true,"description": "test-1-20150125","id": 1,'
- '"is_shared": false,"ip_address": "127.0.0.1","name": null,'
- '"online": true,"status": "online"}')
- content = content.encode("utf-8")
- return response(201, content, headers, None, 5, request)
-
-
-@urlmatch(scheme="http", netloc="localhost", path="/api/v4/runners/1", method="delete")
-def resp_delete_runner(url, request):
- headers = {'content-type': 'application/json'}
- content = ('{}')
- content = content.encode("utf-8")
- return response(204, content, headers, None, 5, request)
diff --git a/test/units/modules/source_control/gitlab/test_gitlab_deploy_key.py b/test/units/modules/source_control/gitlab/test_gitlab_deploy_key.py
deleted file mode 100644
index 24578524a3..0000000000
--- a/test/units/modules/source_control/gitlab/test_gitlab_deploy_key.py
+++ /dev/null
@@ -1,107 +0,0 @@
-# -*- coding: utf-8 -*-
-
-# Copyright: (c) 2019, Guillaume Martinez (lunik@tiwabbit.fr)
-# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
-
-from __future__ import absolute_import
-
-import pytest
-
-from ansible.modules.source_control.gitlab.gitlab_deploy_key import GitLabDeployKey
-
-
-def _dummy(x):
- """Dummy function. Only used as a placeholder for toplevel definitions when the test is going
- to be skipped anyway"""
- return x
-
-
-pytestmark = []
-try:
- from .gitlab import (GitlabModuleTestCase,
- python_version_match_requirement,
- resp_get_project, resp_find_project_deploy_key,
- resp_create_project_deploy_key, resp_delete_project_deploy_key)
-
- # GitLab module requirements
- if python_version_match_requirement():
- from gitlab.v4.objects import ProjectKey
-except ImportError:
- pytestmark.append(pytest.mark.skip("Could not load gitlab module required for testing"))
- # Need to set these to something so that we don't fail when parsing
- GitlabModuleTestCase = object
- resp_get_project = _dummy
- resp_find_project_deploy_key = _dummy
- resp_create_project_deploy_key = _dummy
- resp_delete_project_deploy_key = _dummy
-
-# Unit tests requirements
-try:
- from httmock import with_httmock # noqa
-except ImportError:
- pytestmark.append(pytest.mark.skip("Could not load httmock module required for testing"))
- with_httmock = _dummy
-
-
-class TestGitlabDeployKey(GitlabModuleTestCase):
- def setUp(self):
- super(TestGitlabDeployKey, self).setUp()
-
- self.moduleUtil = GitLabDeployKey(module=self.mock_module, gitlab_instance=self.gitlab_instance)
-
- @with_httmock(resp_get_project)
- @with_httmock(resp_find_project_deploy_key)
- def test_deploy_key_exist(self):
- project = self.gitlab_instance.projects.get(1)
-
- rvalue = self.moduleUtil.existsDeployKey(project, "Public key")
-
- self.assertEqual(rvalue, True)
-
- rvalue = self.moduleUtil.existsDeployKey(project, "Private key")
-
- self.assertEqual(rvalue, False)
-
- @with_httmock(resp_get_project)
- @with_httmock(resp_create_project_deploy_key)
- def test_create_deploy_key(self):
- project = self.gitlab_instance.projects.get(1)
-
- deploy_key = self.moduleUtil.createDeployKey(project, {"title": "Public key",
- "key": "ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAIEAiPWx6WM"
- "4lhHNedGfBpPJNPpZ7yKu+dnn1SJejgt4596k6YjzGGphH2TUxwKzxc"
- "KDKKezwkpfnxPkSMkuEspGRt/aZZ9wa++Oi7Qkr8prgHc4soW6NUlfD"
- "zpvZK2H5E7eQaSeP3SAwGmQKUFHCddNaP0L+hM7zhFNzjFvpaMgJw0="})
-
- self.assertEqual(type(deploy_key), ProjectKey)
- self.assertEqual(deploy_key.title, "Public key")
-
- @with_httmock(resp_get_project)
- @with_httmock(resp_find_project_deploy_key)
- @with_httmock(resp_create_project_deploy_key)
- def test_update_deploy_key(self):
- project = self.gitlab_instance.projects.get(1)
- deployKey = self.moduleUtil.findDeployKey(project, "Public key")
-
- changed, newDeploy_key = self.moduleUtil.updateDeployKey(deployKey, {"title": "Private key"})
-
- self.assertEqual(changed, True)
- self.assertEqual(type(newDeploy_key), ProjectKey)
- self.assertEqual(newDeploy_key.title, "Private key")
-
- changed, newDeploy_key = self.moduleUtil.updateDeployKey(deployKey, {"title": "Private key"})
-
- self.assertEqual(changed, False)
- self.assertEqual(newDeploy_key.title, "Private key")
-
- @with_httmock(resp_get_project)
- @with_httmock(resp_find_project_deploy_key)
- @with_httmock(resp_delete_project_deploy_key)
- def test_delete_deploy_key(self):
- project = self.gitlab_instance.projects.get(1)
-
- self.moduleUtil.existsDeployKey(project, "Public key")
-
- rvalue = self.moduleUtil.deleteDeployKey()
-
- self.assertEqual(rvalue, None)
diff --git a/test/units/modules/source_control/gitlab/test_gitlab_group.py b/test/units/modules/source_control/gitlab/test_gitlab_group.py
deleted file mode 100644
index e43e92f162..0000000000
--- a/test/units/modules/source_control/gitlab/test_gitlab_group.py
+++ /dev/null
@@ -1,108 +0,0 @@
-# -*- coding: utf-8 -*-
-
-# Copyright: (c) 2019, Guillaume Martinez (lunik@tiwabbit.fr)
-# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
-
-from __future__ import absolute_import
-
-import pytest
-
-from ansible.modules.source_control.gitlab.gitlab_group import GitLabGroup
-
-
-def _dummy(x):
- """Dummy function. Only used as a placeholder for toplevel definitions when the test is going
- to be skipped anyway"""
- return x
-
-
-pytestmark = []
-try:
- from .gitlab import (GitlabModuleTestCase,
- python_version_match_requirement,
- resp_get_group, resp_get_missing_group, resp_create_group,
- resp_create_subgroup, resp_delete_group, resp_find_group_project)
-
- # GitLab module requirements
- if python_version_match_requirement():
- from gitlab.v4.objects import Group
-except ImportError:
- pytestmark.append(pytest.mark.skip("Could not load gitlab module required for testing"))
- # Need to set these to something so that we don't fail when parsing
- GitlabModuleTestCase = object
- resp_get_group = _dummy
- resp_get_missing_group = _dummy
- resp_create_group = _dummy
- resp_create_subgroup = _dummy
- resp_delete_group = _dummy
- resp_find_group_project = _dummy
-
-# Unit tests requirements
-try:
- from httmock import with_httmock # noqa
-except ImportError:
- pytestmark.append(pytest.mark.skip("Could not load httmock module required for testing"))
- with_httmock = _dummy
-
-
-class TestGitlabGroup(GitlabModuleTestCase):
- def setUp(self):
- super(TestGitlabGroup, self).setUp()
-
- self.moduleUtil = GitLabGroup(module=self.mock_module, gitlab_instance=self.gitlab_instance)
-
- @with_httmock(resp_get_group)
- def test_exist_group(self):
- rvalue = self.moduleUtil.existsGroup(1)
-
- self.assertEqual(rvalue, True)
-
- @with_httmock(resp_get_missing_group)
- def test_exist_group(self):
- rvalue = self.moduleUtil.existsGroup(1)
-
- self.assertEqual(rvalue, False)
-
- @with_httmock(resp_create_group)
- def test_create_group(self):
- group = self.moduleUtil.createGroup({'name': "Foobar Group", 'path': "foo-bar"})
-
- self.assertEqual(type(group), Group)
- self.assertEqual(group.name, "Foobar Group")
- self.assertEqual(group.path, "foo-bar")
- self.assertEqual(group.id, 1)
-
- @with_httmock(resp_create_subgroup)
- def test_create_subgroup(self):
- group = self.moduleUtil.createGroup({'name': "BarFoo Group", 'path': "bar-foo", "parent_id": 1})
-
- self.assertEqual(type(group), Group)
- self.assertEqual(group.name, "BarFoo Group")
- self.assertEqual(group.full_path, "foo-bar/bar-foo")
- self.assertEqual(group.id, 2)
- self.assertEqual(group.parent_id, 1)
-
- @with_httmock(resp_get_group)
- def test_update_group(self):
- group = self.gitlab_instance.groups.get(1)
- changed, newGroup = self.moduleUtil.updateGroup(group, {'name': "BarFoo Group", "visibility": "private"})
-
- self.assertEqual(changed, True)
- self.assertEqual(newGroup.name, "BarFoo Group")
- self.assertEqual(newGroup.visibility, "private")
-
- changed, newGroup = self.moduleUtil.updateGroup(group, {'name': "BarFoo Group"})
-
- self.assertEqual(changed, False)
-
- @with_httmock(resp_get_group)
- @with_httmock(resp_find_group_project)
- @with_httmock(resp_delete_group)
- def test_delete_group(self):
- self.moduleUtil.existsGroup(1)
-
- print(self.moduleUtil.groupObject.projects)
-
- rvalue = self.moduleUtil.deleteGroup()
-
- self.assertEqual(rvalue, None)
diff --git a/test/units/modules/source_control/gitlab/test_gitlab_hook.py b/test/units/modules/source_control/gitlab/test_gitlab_hook.py
deleted file mode 100644
index 29401ee53c..0000000000
--- a/test/units/modules/source_control/gitlab/test_gitlab_hook.py
+++ /dev/null
@@ -1,101 +0,0 @@
-# -*- coding: utf-8 -*-
-
-# Copyright: (c) 2019, Guillaume Martinez (lunik@tiwabbit.fr)
-# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
-
-from __future__ import absolute_import
-import pytest
-
-from ansible.modules.source_control.gitlab.gitlab_hook import GitLabHook
-
-
-def _dummy(x):
- """Dummy function. Only used as a placeholder for toplevel definitions when the test is going
- to be skipped anyway"""
- return x
-
-
-pytestmark = []
-try:
- from .gitlab import (GitlabModuleTestCase,
- python_version_match_requirement,
- resp_get_project, resp_find_project_hook,
- resp_create_project_hook, resp_delete_project_hook)
-
- # GitLab module requirements
- if python_version_match_requirement():
- from gitlab.v4.objects import ProjectHook
-except ImportError:
- pytestmark.append(pytest.mark.skip("Could not load gitlab module required for testing"))
- # Need to set these to something so that we don't fail when parsing
- GitlabModuleTestCase = object
- resp_get_project = _dummy
- resp_find_project_hook = _dummy
- resp_create_project_hook = _dummy
- resp_delete_project_hook = _dummy
-
-# Unit tests requirements
-try:
- from httmock import with_httmock # noqa
-except ImportError:
- pytestmark.append(pytest.mark.skip("Could not load httmock module required for testing"))
- with_httmock = _dummy
-
-
-class TestGitlabHook(GitlabModuleTestCase):
- def setUp(self):
- super(TestGitlabHook, self).setUp()
-
- self.moduleUtil = GitLabHook(module=self.mock_module, gitlab_instance=self.gitlab_instance)
-
- @with_httmock(resp_get_project)
- @with_httmock(resp_find_project_hook)
- def test_hook_exist(self):
- project = self.gitlab_instance.projects.get(1)
-
- rvalue = self.moduleUtil.existsHook(project, "http://example.com/hook")
-
- self.assertEqual(rvalue, True)
-
- rvalue = self.moduleUtil.existsHook(project, "http://gitlab.com/hook")
-
- self.assertEqual(rvalue, False)
-
- @with_httmock(resp_get_project)
- @with_httmock(resp_create_project_hook)
- def test_create_hook(self):
- project = self.gitlab_instance.projects.get(1)
-
- hook = self.moduleUtil.createHook(project, {"url": "http://example.com/hook"})
-
- self.assertEqual(type(hook), ProjectHook)
- self.assertEqual(hook.url, "http://example.com/hook")
-
- @with_httmock(resp_get_project)
- @with_httmock(resp_find_project_hook)
- def test_update_hook(self):
- project = self.gitlab_instance.projects.get(1)
- hook = self.moduleUtil.findHook(project, "http://example.com/hook")
-
- changed, newHook = self.moduleUtil.updateHook(hook, {"url": "http://gitlab.com/hook"})
-
- self.assertEqual(changed, True)
- self.assertEqual(type(newHook), ProjectHook)
- self.assertEqual(newHook.url, "http://gitlab.com/hook")
-
- changed, newHook = self.moduleUtil.updateHook(hook, {"url": "http://gitlab.com/hook"})
-
- self.assertEqual(changed, False)
- self.assertEqual(newHook.url, "http://gitlab.com/hook")
-
- @with_httmock(resp_get_project)
- @with_httmock(resp_find_project_hook)
- @with_httmock(resp_delete_project_hook)
- def test_delete_hook(self):
- project = self.gitlab_instance.projects.get(1)
-
- self.moduleUtil.existsHook(project, "http://example.com/hook")
-
- rvalue = self.moduleUtil.deleteHook()
-
- self.assertEqual(rvalue, None)
diff --git a/test/units/modules/source_control/gitlab/test_gitlab_project.py b/test/units/modules/source_control/gitlab/test_gitlab_project.py
deleted file mode 100644
index 31b773f9cb..0000000000
--- a/test/units/modules/source_control/gitlab/test_gitlab_project.py
+++ /dev/null
@@ -1,103 +0,0 @@
-# -*- coding: utf-8 -*-
-
-# Copyright: (c) 2019, Guillaume Martinez (lunik@tiwabbit.fr)
-# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
-
-from __future__ import absolute_import
-
-import pytest
-
-from ansible.modules.source_control.gitlab.gitlab_project import GitLabProject
-
-
-def _dummy(x):
- """Dummy function. Only used as a placeholder for toplevel definitions when the test is going
- to be skipped anyway"""
- return x
-
-
-pytestmark = []
-try:
- from .gitlab import (GitlabModuleTestCase,
- python_version_match_requirement,
- resp_get_group, resp_get_project_by_name, resp_create_project,
- resp_get_project, resp_delete_project, resp_get_user)
-
- # GitLab module requirements
- if python_version_match_requirement():
- from gitlab.v4.objects import Project
-except ImportError:
- pytestmark.append(pytest.mark.skip("Could not load gitlab module required for testing"))
- # Need to set these to something so that we don't fail when parsing
- GitlabModuleTestCase = object
- resp_get_group = _dummy
- resp_get_project_by_name = _dummy
- resp_create_project = _dummy
- resp_get_project = _dummy
- resp_delete_project = _dummy
- resp_get_user = _dummy
-
-# Unit tests requirements
-try:
- from httmock import with_httmock # noqa
-except ImportError:
- pytestmark.append(pytest.mark.skip("Could not load httmock module required for testing"))
- with_httmock = _dummy
-
-
-class TestGitlabProject(GitlabModuleTestCase):
- @with_httmock(resp_get_user)
- def setUp(self):
- super(TestGitlabProject, self).setUp()
-
- self.gitlab_instance.user = self.gitlab_instance.users.get(1)
- self.moduleUtil = GitLabProject(module=self.mock_module, gitlab_instance=self.gitlab_instance)
-
- @with_httmock(resp_get_group)
- @with_httmock(resp_get_project_by_name)
- def test_project_exist(self):
- group = self.gitlab_instance.groups.get(1)
-
- rvalue = self.moduleUtil.existsProject(group, "diaspora-client")
-
- self.assertEqual(rvalue, True)
-
- rvalue = self.moduleUtil.existsProject(group, "missing-project")
-
- self.assertEqual(rvalue, False)
-
- @with_httmock(resp_get_group)
- @with_httmock(resp_create_project)
- def test_create_project(self):
- group = self.gitlab_instance.groups.get(1)
- project = self.moduleUtil.createProject(group, {"name": "Diaspora Client", "path": "diaspora-client", "namespace_id": group.id})
-
- self.assertEqual(type(project), Project)
- self.assertEqual(project.name, "Diaspora Client")
-
- @with_httmock(resp_get_project)
- def test_update_project(self):
- project = self.gitlab_instance.projects.get(1)
-
- changed, newProject = self.moduleUtil.updateProject(project, {"name": "New Name"})
-
- self.assertEqual(changed, True)
- self.assertEqual(type(newProject), Project)
- self.assertEqual(newProject.name, "New Name")
-
- changed, newProject = self.moduleUtil.updateProject(project, {"name": "New Name"})
-
- self.assertEqual(changed, False)
- self.assertEqual(newProject.name, "New Name")
-
- @with_httmock(resp_get_group)
- @with_httmock(resp_get_project_by_name)
- @with_httmock(resp_delete_project)
- def test_delete_project(self):
- group = self.gitlab_instance.groups.get(1)
-
- self.moduleUtil.existsProject(group, "diaspora-client")
-
- rvalue = self.moduleUtil.deleteProject()
-
- self.assertEqual(rvalue, None)
diff --git a/test/units/modules/source_control/gitlab/test_gitlab_runner.py b/test/units/modules/source_control/gitlab/test_gitlab_runner.py
deleted file mode 100644
index 57f3f2411f..0000000000
--- a/test/units/modules/source_control/gitlab/test_gitlab_runner.py
+++ /dev/null
@@ -1,94 +0,0 @@
-# -*- coding: utf-8 -*-
-
-# Copyright: (c) 2019, Guillaume Martinez (lunik@tiwabbit.fr)
-# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
-
-from __future__ import absolute_import
-
-import pytest
-
-from ansible.modules.source_control.gitlab.gitlab_runner import GitLabRunner
-
-
-def _dummy(x):
- """Dummy function. Only used as a placeholder for toplevel definitions when the test is going
- to be skipped anyway"""
- return x
-
-
-pytestmark = []
-try:
- from .gitlab import (GitlabModuleTestCase,
- python_version_match_requirement,
- resp_find_runners_list, resp_get_runner,
- resp_create_runner, resp_delete_runner)
-
- # GitLab module requirements
- if python_version_match_requirement():
- from gitlab.v4.objects import Runner
-except ImportError:
- pytestmark.append(pytest.mark.skip("Could not load gitlab module required for testing"))
- # Need to set these to something so that we don't fail when parsing
- GitlabModuleTestCase = object
- resp_find_runners_list = _dummy
- resp_get_runner = _dummy
- resp_create_runner = _dummy
- resp_delete_runner = _dummy
-
-# Unit tests requirements
-try:
- from httmock import with_httmock # noqa
-except ImportError:
- pytestmark.append(pytest.mark.skip("Could not load httmock module required for testing"))
- with_httmock = _dummy
-
-
-class TestGitlabRunner(GitlabModuleTestCase):
- def setUp(self):
- super(TestGitlabRunner, self).setUp()
-
- self.moduleUtil = GitLabRunner(module=self.mock_module, gitlab_instance=self.gitlab_instance)
-
- @with_httmock(resp_find_runners_list)
- @with_httmock(resp_get_runner)
- def test_runner_exist(self):
- rvalue = self.moduleUtil.existsRunner("test-1-20150125")
-
- self.assertEqual(rvalue, True)
-
- rvalue = self.moduleUtil.existsRunner("test-3-00000000")
-
- self.assertEqual(rvalue, False)
-
- @with_httmock(resp_create_runner)
- def test_create_runner(self):
- runner = self.moduleUtil.createRunner({"token": "token", "description": "test-1-20150125"})
-
- self.assertEqual(type(runner), Runner)
- self.assertEqual(runner.description, "test-1-20150125")
-
- @with_httmock(resp_find_runners_list)
- @with_httmock(resp_get_runner)
- def test_update_runner(self):
- runner = self.moduleUtil.findRunner("test-1-20150125")
-
- changed, newRunner = self.moduleUtil.updateRunner(runner, {"description": "Runner description"})
-
- self.assertEqual(changed, True)
- self.assertEqual(type(newRunner), Runner)
- self.assertEqual(newRunner.description, "Runner description")
-
- changed, newRunner = self.moduleUtil.updateRunner(runner, {"description": "Runner description"})
-
- self.assertEqual(changed, False)
- self.assertEqual(newRunner.description, "Runner description")
-
- @with_httmock(resp_find_runners_list)
- @with_httmock(resp_get_runner)
- @with_httmock(resp_delete_runner)
- def test_delete_runner(self):
- self.moduleUtil.existsRunner("test-1-20150125")
-
- rvalue = self.moduleUtil.deleteRunner()
-
- self.assertEqual(rvalue, None)
diff --git a/test/units/modules/source_control/gitlab/test_gitlab_user.py b/test/units/modules/source_control/gitlab/test_gitlab_user.py
deleted file mode 100644
index e7ac926ed8..0000000000
--- a/test/units/modules/source_control/gitlab/test_gitlab_user.py
+++ /dev/null
@@ -1,163 +0,0 @@
-# -*- coding: utf-8 -*-
-
-# Copyright: (c) 2019, Guillaume Martinez (lunik@tiwabbit.fr)
-# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
-
-from __future__ import absolute_import
-
-import pytest
-
-from ansible.modules.source_control.gitlab.gitlab_user import GitLabUser
-
-
-def _dummy(x):
- """Dummy function. Only used as a placeholder for toplevel definitions when the test is going
- to be skipped anyway"""
- return x
-
-
-pytestmark = []
-try:
- from .gitlab import (GitlabModuleTestCase,
- python_version_match_requirement,
- resp_find_user, resp_get_user, resp_get_user_keys,
- resp_create_user_keys, resp_create_user, resp_delete_user,
- resp_get_member, resp_get_group, resp_add_member,
- resp_update_member, resp_get_member)
-
- # GitLab module requirements
- if python_version_match_requirement():
- from gitlab.v4.objects import User
-except ImportError:
- pytestmark.append(pytest.mark.skip("Could not load gitlab module required for testing"))
- # Need to set these to something so that we don't fail when parsing
- GitlabModuleTestCase = object
- resp_find_user = _dummy
- resp_get_user = _dummy
- resp_get_user_keys = _dummy
- resp_create_user_keys = _dummy
- resp_create_user = _dummy
- resp_delete_user = _dummy
- resp_get_member = _dummy
- resp_get_group = _dummy
- resp_add_member = _dummy
- resp_update_member = _dummy
- resp_get_member = _dummy
-
-# Unit tests requirements
-try:
- from httmock import with_httmock # noqa
-except ImportError:
- pytestmark.append(pytest.mark.skip("Could not load httmock module required for testing"))
- with_httmock = _dummy
-
-
-class TestGitlabUser(GitlabModuleTestCase):
- def setUp(self):
- super(TestGitlabUser, self).setUp()
-
- self.moduleUtil = GitLabUser(module=self.mock_module, gitlab_instance=self.gitlab_instance)
-
- @with_httmock(resp_find_user)
- def test_exist_user(self):
- rvalue = self.moduleUtil.existsUser("john_smith")
-
- self.assertEqual(rvalue, True)
-
- rvalue = self.moduleUtil.existsUser("paul_smith")
-
- self.assertEqual(rvalue, False)
-
- @with_httmock(resp_find_user)
- def test_find_user(self):
- user = self.moduleUtil.findUser("john_smith")
-
- self.assertEqual(type(user), User)
- self.assertEqual(user.name, "John Smith")
- self.assertEqual(user.id, 1)
-
- @with_httmock(resp_create_user)
- def test_create_user(self):
- user = self.moduleUtil.createUser({'email': 'john@example.com', 'password': 's3cur3s3cr3T',
- 'username': 'john_smith', 'name': 'John Smith'})
- self.assertEqual(type(user), User)
- self.assertEqual(user.name, "John Smith")
- self.assertEqual(user.id, 1)
-
- @with_httmock(resp_get_user)
- def test_update_user(self):
- user = self.gitlab_instance.users.get(1)
- changed, newUser = self.moduleUtil.updateUser(user, {'name': "Jack Smith", "is_admin": "true"})
-
- self.assertEqual(changed, True)
- self.assertEqual(newUser.name, "Jack Smith")
- self.assertEqual(newUser.is_admin, "true")
-
- changed, newUser = self.moduleUtil.updateUser(user, {'name': "Jack Smith"})
-
- self.assertEqual(changed, False)
-
- @with_httmock(resp_find_user)
- @with_httmock(resp_delete_user)
- def test_delete_user(self):
- self.moduleUtil.existsUser("john_smith")
- rvalue = self.moduleUtil.deleteUser()
-
- self.assertEqual(rvalue, None)
-
- @with_httmock(resp_get_user)
- @with_httmock(resp_get_user_keys)
- def test_sshkey_exist(self):
- user = self.gitlab_instance.users.get(1)
-
- exist = self.moduleUtil.sshKeyExists(user, "Public key")
- self.assertEqual(exist, True)
-
- notExist = self.moduleUtil.sshKeyExists(user, "Private key")
- self.assertEqual(notExist, False)
-
- @with_httmock(resp_get_user)
- @with_httmock(resp_create_user_keys)
- @with_httmock(resp_get_user_keys)
- def test_create_sshkey(self):
- user = self.gitlab_instance.users.get(1)
-
- rvalue = self.moduleUtil.addSshKeyToUser(user, {
- 'name': "Public key",
- 'file': "ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAIEAiPWx6WM4lhHNedGfBpPJNPpZ7yKu+dnn1SJe"
- "jgt4596k6YjzGGphH2TUxwKzxcKDKKezwkpfnxPkSMkuEspGRt/aZZ9wa++Oi7Qkr8prgHc4"
- "soW6NUlfDzpvZK2H5E7eQaSeP3SAwGmQKUFHCddNaP0L+hM7zhFNzjFvpaMgJw0="})
- self.assertEqual(rvalue, False)
-
- rvalue = self.moduleUtil.addSshKeyToUser(user, {
- 'name': "Private key",
- 'file': "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDA1YotVDm2mAyk2tPt4E7AHm01sS6JZmcU"
- "dRuSuA5zszUJzYPPUSRAX3BCgTqLqYx//UuVncK7YqLVSbbwjKR2Ez5lISgCnVfLVEXzwhv+"
- "xawxKWmI7hJ5S0tOv6MJ+IxyTa4xcKwJTwB86z22n9fVOQeJTR2dSOH1WJrf0PvRk+KVNY2j"
- "TiGHTi9AIjLnyD/jWRpOgtdfkLRc8EzAWrWlgNmH2WOKBw6za0az6XoG75obUdFVdW3qcD0x"
- "c809OHLi7FDf+E7U4wiZJCFuUizMeXyuK/SkaE1aee4Qp5R4dxTR4TP9M1XAYkf+kF0W9srZ+mhF069XD/zhUPJsvwEF"})
- self.assertEqual(rvalue, True)
-
- @with_httmock(resp_get_group)
- @with_httmock(resp_get_member)
- def test_find_member(self):
- group = self.gitlab_instance.groups.get(1)
-
- user = self.moduleUtil.findMember(group, 1)
- self.assertEqual(user.username, "raymond_smith")
-
- @with_httmock(resp_get_user)
- @with_httmock(resp_get_group)
- @with_httmock(resp_get_group)
- @with_httmock(resp_get_member)
- @with_httmock(resp_add_member)
- @with_httmock(resp_update_member)
- def test_assign_user_to_group(self):
- group = self.gitlab_instance.groups.get(1)
- user = self.gitlab_instance.users.get(1)
-
- rvalue = self.moduleUtil.assignUserToGroup(user, group.id, "developer")
- self.assertEqual(rvalue, False)
-
- rvalue = self.moduleUtil.assignUserToGroup(user, group.id, "guest")
- self.assertEqual(rvalue, True)