def test_get_project_name(): assert ('gh-vundlevim-vundle-vim' == get_project_name('VundleVim', 'Vundle.vim')) assert ('gh-a-b-c' == get_project_name('a-------b', '------#@(----c')) assert ('gh-a-9-b-8-c' == get_project_name('a---9---b', '------#@(--8--c'))
def post_project(self, repo_id): body = { 'name': get_project_name(repo_id.owner, repo_id.repo), 'namespace_id': self.namespace_id, # make public. 'public': True, 'visibility_level': 20, } url = self.url_template.format('/projects') response = requests.post(url, json=body) assert response.status_code == 201
def check_existence(self, repo_id, auto_info=True): namespace_project_name = get_namespace_project_name( self.gitlab_config.groupname, get_project_name(repo_id.owner, repo_id.repo), ) url = self.url_template.format( '/projects/{0}'.format(namespace_project_name), ) response = requests.get(url) if response.status_code == 404: return False, None else: response_json = response.json() repo_remote = response_json['http_url_to_repo'] if auto_info: repo_remote = self.attach_auth_info(repo_remote) return True, repo_remote