Commit ef7d6bba authored by Spiros Koulouzis's avatar Spiros Koulouzis

fixed getting back the wrong repository

parent 37402bdf
...@@ -69,9 +69,8 @@ class SemaphoreHelper: ...@@ -69,9 +69,8 @@ class SemaphoreHelper:
def create_repository(self, name, project_id, key_id, git_url): def create_repository(self, name, project_id, key_id, git_url):
repository_request = RepositoryRequest(name=name, project_id=project_id, git_url=git_url, ssh_key_id=key_id) repository_request = RepositoryRequest(name=name, project_id=project_id, git_url=git_url, ssh_key_id=key_id)
self.project_api.project_project_id_repositories_post(repository_request ,project_id) self.project_api.project_project_id_repositories_post(repository_request ,project_id)
repository = self.find_repository(project_id, name, git_url)
repositories = self.project_api.project_project_id_repositories_get(project_id, name, 'asc') return repository.id
return repositories[0].id
def create_template(self, project_id,key_id,inventory_id,repository_id,playbook_name): def create_template(self, project_id,key_id,inventory_id,repository_id,playbook_name):
template_request = TemplateRequest(ssh_key_id=key_id, project_id=project_id, inventory_id=inventory_id, template_request = TemplateRequest(ssh_key_id=key_id, project_id=project_id, inventory_id=inventory_id,
...@@ -122,4 +121,11 @@ class SemaphoreHelper: ...@@ -122,4 +121,11 @@ class SemaphoreHelper:
def find_template(self, templates,playbook_name): def find_template(self, templates,playbook_name):
for template in templates: for template in templates:
if template.playbook == playbook_name: if template.playbook == playbook_name:
return template return template
\ No newline at end of file
def find_repository(self, project_id, name, git_url):
repositories = self.project_api.project_project_id_repositories_get(project_id, name, 'asc')
for repo in repositories:
if repo.git_url == git_url:
return repo
return None
\ No newline at end of file
from __future__ import absolute_import
import unittest
import semaphore_client
from semaphore_client import APIToken, RepositoryRequest
from semaphore_client.models.login import Login # noqa: E501
from semaphore_client.rest import ApiException
from semaphore_client.semaphore_helper import SemaphoreHelper
class TestGetRepository(unittest.TestCase):
"""Login unit test stubs"""
def setUp(self):
self.semaphore_base_url = 'http://localhost:3000/api'
if SemaphoreHelper.service_is_up(self.semaphore_base_url):
self.username = 'admin'
self.password = 'password'
def tearDown(self):
pass
def testGetRepository(self):
"""Test Login"""
if SemaphoreHelper.service_is_up(self.semaphore_base_url):
helper = SemaphoreHelper(self.semaphore_base_url, self.username, self.password)
project_name = 'test'
key = '-----BEGIN RSA PRIVATE KEY-----MIIEowIBAAKCAQEAg0blRNV6cm3RTiivpzE8HR4JzKZRVIBZ7bxeNoMz0' \
'-----END RSA PRIVATE KEY-----'
project_id = helper.create_project(project_name)
git_url_1 = 'https://github.com/QCDIS/playbooks.git'
key_id = helper.create_ssh_key(project_name, project_id, key)
repository_id_1 = helper.create_repository(project_name, project_id, key_id,git_url_1)
git_url_2 = 'https://github.com/QCDIS/mysome_glusterfs.git'
repository_id_2 = helper.create_repository(project_name, project_id,key_id, git_url_2)
self.assertNotEqual(repository_id_1,repository_id_2)
if __name__ == '__main__':
unittest.main()
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment