diff --git a/tools/build_test_env.sh b/tools/build_test_env.sh index ebfb80a07..316437828 100755 --- a/tools/build_test_env.sh +++ b/tools/build_test_env.sh @@ -76,8 +76,29 @@ cleanup() { trap 'exit 1' HUP INT TERM } +GITLAB_OMNIBUS_CONFIG="external_url 'http://gitlab.test' +gitlab_rails['initial_root_password'] = '5iveL!fe' +gitlab_rails['initial_shared_runners_registration_token'] = 'sTPNtWLEuSrHzoHP8oCU' +registry['enable'] = false +nginx['redirect_http_to_https'] = false +nginx['listen_port'] = 80 +nginx['listen_https'] = false +pages_external_url 'http://pages.gitlab.lxd' +gitlab_pages['enable'] = true +gitlab_pages['inplace_chroot'] = true +prometheus['enable'] = false +alertmanager['enable'] = false +node_exporter['enable'] = false +redis_exporter['enable'] = false +postgres_exporter['enable'] = false +pgbouncer_exporter['enable'] = false +gitlab_exporter['enable'] = false +grafana['enable'] = false +letsencrypt['enable'] = false +" try docker run --name gitlab-test --detach --publish 8080:80 \ - --publish 2222:22 gpocentek/test-python-gitlab:latest >/dev/null + --publish 2222:22 --env "GITLAB_OMNIBUS_CONFIG=$GITLAB_OMNIBUS_CONFIG" \ + gitlab/gitlab-ce:12.3.4-ce.0 >/dev/null LOGIN='root' PASSWORD='5iveL!fe' diff --git a/tools/python_test_v4.py b/tools/python_test_v4.py index 3b5493692..b8969a66d 100644 --- a/tools/python_test_v4.py +++ b/tools/python_test_v4.py @@ -1,6 +1,7 @@ import base64 import os import time +from distutils.version import LooseVersion import requests @@ -174,7 +175,8 @@ new_user.delete() foobar_user.delete() -assert(len(gl.users.list()) == 3) +assert(len(gl.users.list()) == + 3 + len([u for u in gl.users.list() if u.username == 'ghost'])) # current user mail mail = gl.user.emails.create({'email': 'current@user.com'}) @@ -275,14 +277,14 @@ assert(settings.level == 'disabled') # group badges -badge_image = 'http://example.com' -badge_link = 'http://example/img.svg' +badge_image = 'https://httpbin.org/image/svg' +badge_link = 'https://httpbin.org/get' badge = group2.badges.create({'link_url': badge_link, 'image_url': badge_image}) assert(len(group2.badges.list()) == 1) -badge.image_url = 'http://another.example.com' +badge.image_url = 'https://httpbin.org/image/svg' badge.save() badge = group2.badges.get(badge.id) -assert(badge.image_url == 'http://another.example.com') +assert(badge.image_url == 'https://httpbin.org/image/svg') badge.delete() assert(len(group2.badges.list()) == 0) @@ -390,7 +392,7 @@ ] } admin_project.commits.create(data) -assert('---' in admin_project.commits.list()[0].diff()[0]['diff']) +assert('+blah' in admin_project.commits.list()[0].diff()[0]['diff']) # commit status commit = admin_project.commits.list()[0] @@ -447,14 +449,14 @@ # environments admin_project.environments.create({'name': 'env1', 'external_url': - 'http://fake.env/whatever'}) + 'https://httpbin.org/get'}) envs = admin_project.environments.list() assert(len(envs) == 1) env = envs[0] -env.external_url = 'http://new.env/whatever' +env.external_url = 'https://httpbin.org/anything' env.save() env = admin_project.environments.list()[0] -assert(env.external_url == 'http://new.env/whatever') +assert(env.external_url == 'https://httpbin.org/anything') env.stop() env.delete() assert(len(admin_project.environments.list()) == 0) @@ -468,7 +470,7 @@ assert(p.forked_from_project['id'] == admin_project.id) # project hooks -hook = admin_project.hooks.create({'url': 'http://hook.url'}) +hook = admin_project.hooks.create({'url': 'https://httpbin.org/get'}) assert(len(admin_project.hooks.list()) == 1) hook.note_events = True hook.save() @@ -514,6 +516,8 @@ # issues issue1 = admin_project.issues.create({'title': 'my issue 1', 'milestone_id': m1.id}) +# assigning milestone also creates a note +assert(len(issue1.notes.list()) == 1) issue2 = admin_project.issues.create({'title': 'my issue 2'}) issue3 = admin_project.issues.create({'title': 'my issue 3'}) assert(len(admin_project.issues.list()) == 3) @@ -524,20 +528,20 @@ assert(len(admin_project.issues.list(milestone='milestone1')) == 1) assert(m1.issues().next().title == 'my issue 1') note = issue1.notes.create({'body': 'This is an issue note'}) -assert(len(issue1.notes.list()) == 1) +assert(len(issue1.notes.list()) == 2) emoji = note.awardemojis.create({'name': 'tractor'}) assert(len(note.awardemojis.list()) == 1) emoji.delete() assert(len(note.awardemojis.list()) == 0) note.delete() -assert(len(issue1.notes.list()) == 0) +assert(len(issue1.notes.list()) == 1) assert(isinstance(issue1.user_agent_detail(), dict)) assert(issue1.user_agent_detail()['user_agent']) assert(issue1.participants()) discussion = issue1.discussions.create({'body': 'Discussion body'}) -assert(len(issue1.discussions.list()) == 1) +assert(len(issue1.discussions.list()) == 2) d_note = discussion.notes.create({'body': 'first note'}) d_note_from_get = discussion.notes.get(d_note.id) d_note_from_get.body = 'updated body' @@ -668,14 +672,14 @@ #assert(len(lists) == begin_size - 1) # project badges -badge_image = 'http://example.com' -badge_link = 'http://example/img.svg' +badge_image = 'https://httpbin.org/image/svg' +badge_link = 'https://httpbin.org/get' badge = admin_project.badges.create({'link_url': badge_link, 'image_url': badge_image}) assert(len(admin_project.badges.list()) == 1) -badge.image_url = 'http://another.example.com' +badge.image_url = 'https://httpbin.org/image/png' badge.save() badge = admin_project.badges.get(badge.id) -assert(badge.image_url == 'http://another.example.com') +assert(badge.image_url == 'https://httpbin.org/image/png') badge.delete() assert(len(admin_project.badges.list()) == 0) @@ -698,11 +702,13 @@ assert(ns.kind == 'user') # features -feat = gl.features.set('foo', 30) -assert(feat.name == 'foo') -assert(len(gl.features.list()) == 1) -feat.delete() -assert(len(gl.features.list()) == 0) +# https://gitlab.com/gitlab-org/gitlab/issues/33481 +if LooseVersion(gl.version()[0]) < LooseVersion('11.8'): + feat = gl.features.set('foo', 30) + assert(feat.name == 'foo') + assert(len(gl.features.list()) == 1) + feat.delete() + assert(len(gl.features.list()) == 0) # broadcast messages msg = gl.broadcastmessages.create({'message': 'this is the message'}) pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy