From ca517c8bb4bf97f061b8b19fd3303d734f46660c Mon Sep 17 00:00:00 2001 From: Antonin Delpeuch Date: Thu, 30 Nov 2023 09:47:54 +0100 Subject: [PATCH] Simplify HTTP mocking utility in unit tests Follow-up to https://codeberg.org/forgejo/forgejo/pulls/1841 --- models/unittest/mock_http.go | 56 +++++++------------ .../full_download/_api_v4_projects_15578026 | 31 +++++----- ...ssues?page=1&per_page=2&sort=asc&state=all | 45 ++++++++------- ...026_issues_1_award_emoji?page=1&per_page=2 | 37 ++++++------ ...026_issues_1_award_emoji?page=2&per_page=2 | 53 +++++++++--------- ...026_issues_2_award_emoji?page=1&per_page=2 | 45 ++++++++------- ...026_issues_2_award_emoji?page=2&per_page=2 | 43 +++++++------- ...026_issues_2_award_emoji?page=3&per_page=2 | 45 ++++++++------- ...026_issues_2_award_emoji?page=4&per_page=2 | 45 ++++++++------- ...6_issues_2_discussions?page=1&per_page=100 | 43 +++++++------- ...ojects_15578026_labels?page=1&per_page=100 | 49 ++++++++-------- ...rge_requests?page=1&per_page=1&view=simple | 43 +++++++------- ...ojects_15578026_merge_requests_1_approvals | 37 ++++++------ ..._api_v4_projects_15578026_merge_requests_2 | 37 ++++++------ ...ojects_15578026_merge_requests_2_approvals | 31 +++++----- ...e_requests_2_award_emoji?page=1&per_page=1 | 49 ++++++++-------- ...e_requests_2_award_emoji?page=2&per_page=1 | 47 ++++++++-------- ...e_requests_2_award_emoji?page=3&per_page=1 | 55 +++++++++--------- ...6_milestones?page=1&per_page=100&state=all | 47 ++++++++-------- ...ects_15578026_releases?page=1&per_page=100 | 55 +++++++++--------- .../_api_v4_projects_gitea%2Ftest_repo | 35 ++++++------ .../gitlab/full_download/_api_v4_version | 35 ++++++------ 22 files changed, 462 insertions(+), 501 deletions(-) diff --git a/models/unittest/mock_http.go b/models/unittest/mock_http.go index a76917e241..746f18ee2f 100644 --- a/models/unittest/mock_http.go +++ b/models/unittest/mock_http.go @@ -11,6 +11,7 @@ import ( "net/http/httptest" "net/url" "os" + "slices" "strings" "testing" @@ -27,6 +28,7 @@ import ( // test data files func NewMockWebServer(t *testing.T, liveServerBaseURL, testDataDir string, liveMode bool) *httptest.Server { mockServerBaseURL := "" + ignoredHeaders := []string{"cf-ray", "server", "date", "report-to", "nel", "x-request-id"} server := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { path := NormalizedFullPath(r.URL) @@ -37,9 +39,7 @@ func NewMockWebServer(t *testing.T, liveServerBaseURL, testDataDir string, liveM liveURL := fmt.Sprintf("%s%s", liveServerBaseURL, path) request, err := http.NewRequest(r.Method, liveURL, nil) - if err != nil { - assert.Fail(t, "constructing an HTTP request to %s failed", liveURL, err) - } + assert.NoError(t, err, "constructing an HTTP request to %s failed", liveURL) for headerName, headerValues := range r.Header { // do not pass on the encoding: let the Transport of the HTTP client handle that for us if strings.ToLower(headerName) != "accept-encoding" { @@ -50,57 +50,42 @@ func NewMockWebServer(t *testing.T, liveServerBaseURL, testDataDir string, liveM } response, err := http.DefaultClient.Do(request) - if err != nil { - assert.Fail(t, "HTTP request to %s failed: %s", liveURL, err) - } + assert.NoError(t, err, "HTTP request to %s failed: %s", liveURL) fixture, err := os.Create(fixturePath) - if err != nil { - assert.Fail(t, fmt.Sprintf("failed to open the fixture file %s for writing", fixturePath), err) - } + assert.NoError(t, err, "failed to open the fixture file %s for writing", fixturePath) defer fixture.Close() fixtureWriter := bufio.NewWriter(fixture) for headerName, headerValues := range response.Header { for _, headerValue := range headerValues { - if strings.ToLower(headerName) != "host" { + if !slices.Contains(ignoredHeaders, strings.ToLower(headerName)) { _, err := fixtureWriter.WriteString(fmt.Sprintf("%s: %s\n", headerName, headerValue)) - if err != nil { - assert.Fail(t, "writing the header of the HTTP response to the fixture file failed", err) - } + assert.NoError(t, err, "writing the header of the HTTP response to the fixture file failed") } } } - if _, err := fixtureWriter.WriteString("\n"); err != nil { - assert.Fail(t, "writing the header of the HTTP response to the fixture file failed") - } + _, err = fixtureWriter.WriteString("\n") + assert.NoError(t, err, "writing the header of the HTTP response to the fixture file failed") fixtureWriter.Flush() - reader := response.Body - content, err := io.ReadAll(reader) - if err != nil { - assert.Fail(t, "reading the response of the HTTP request to %s failed: %s", liveURL, err) - } log.Info("Mock HTTP Server: writing response to %s", fixturePath) - if _, err := fixture.Write(content); err != nil { - assert.Fail(t, "writing the body of the HTTP response to the fixture file failed", err) - } + _, err = io.Copy(fixture, response.Body) + assert.NoError(t, err, "writing the body of the HTTP response to %s failed", liveURL) - if err := fixture.Sync(); err != nil { - assert.Fail(t, "writing the body of the HTTP response to the fixture file failed", err) - } + err = fixture.Sync() + assert.NoError(t, err, "writing the body of the HTTP response to the fixture file failed") } fixture, err := os.ReadFile(fixturePath) - if err != nil { - assert.Fail(t, "missing mock HTTP response: "+fixturePath) - return - } + assert.NoError(t, err, "missing mock HTTP response: "+fixturePath) w.WriteHeader(http.StatusOK) + // replace any mention of the live HTTP service by the mocked host + stringFixture := strings.ReplaceAll(string(fixture), liveServerBaseURL, mockServerBaseURL) // parse back the fixture file into a series of HTTP headers followed by response body - lines := strings.Split(string(fixture), "\n") + lines := strings.Split(stringFixture, "\n") for idx, line := range lines { colonIndex := strings.Index(line, ": ") if colonIndex != -1 { @@ -108,11 +93,8 @@ func NewMockWebServer(t *testing.T, liveServerBaseURL, testDataDir string, liveM } else { // we reached the end of the headers (empty line), so what follows is the body responseBody := strings.Join(lines[idx+1:], "\n") - // replace any mention of the live HTTP service by the mocked host - responseBody = strings.ReplaceAll(responseBody, liveServerBaseURL, mockServerBaseURL) - if _, err := w.Write([]byte(responseBody)); err != nil { - assert.Fail(t, "writing the body of the HTTP response failed", err) - } + _, err := w.Write([]byte(responseBody)) + assert.NoError(t, err, "writing the body of the HTTP response failed") break } } diff --git a/services/migrations/testdata/gitlab/full_download/_api_v4_projects_15578026 b/services/migrations/testdata/gitlab/full_download/_api_v4_projects_15578026 index 3e9e48435d..4ecfe77e65 100644 --- a/services/migrations/testdata/gitlab/full_download/_api_v4_projects_15578026 +++ b/services/migrations/testdata/gitlab/full_download/_api_v4_projects_15578026 @@ -1,23 +1,22 @@ -Cache-Control: max-age=0, private, must-revalidate -Gitlab-Lb: haproxy-main-20-lb-gprd -Gitlab-Sv: api-gke-us-east1-d -Server: cloudflare -Set-Cookie: _cfuvid=B8MjUX35S.9gzhNVFW.tUMZhMCWSro7kxdL8zYdOSdE-1701175752950-0-604800000; path=/; domain=.gitlab.com; HttpOnly; Secure; SameSite=None -Date: Tue, 28 Nov 2023 12:49:12 GMT -Content-Type: application/json -Content-Security-Policy: default-src 'none' X-Frame-Options: SAMEORIGIN +Ratelimit-Resettime: Thu, 30 Nov 2023 08:45:46 GMT Cf-Cache-Status: MISS -Report-To: {"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=zfW56h3iMmcrXW4Isy7oE34xI2hcyFtpb6ZRXF8Y576uz3oFoGx89kE%2B%2FKsyRYv31WVcXkrj1njz2sip5F8D4fwbjpFGzijtAlHezacLgnL%2BuhTON0YgFp0iEyZKtxRGM6hOvTYISJM%3D"}],"group":"cf-nel","max_age":604800} -Cf-Ray: 82d2bac66b8d36e0-FRA +Set-Cookie: _cfuvid=TkY5Br2q4C67LJ2jZWlgdQaosj3Z4aI81Qb27PNKXfo-1701333886606-0-604800000; path=/; domain=.gitlab.com; HttpOnly; Secure; SameSite=None Etag: W/"3cacfe29f44a69e84a577337eac55d89" -Vary: Origin, Accept-Encoding X-Content-Type-Options: nosniff -X-Gitlab-Meta: {"correlation_id":"8dcf1672ae472d596d8e52a70e4e92f7","version":"1"} -Strict-Transport-Security: max-age=31536000 +Ratelimit-Remaining: 1996 +Gitlab-Lb: haproxy-main-29-lb-gprd +Cache-Control: max-age=0, private, must-revalidate Referrer-Policy: strict-origin-when-cross-origin -X-Request-Id: 8dcf1672ae472d596d8e52a70e4e92f7 -X-Runtime: 0.117723 -Nel: {"success_fraction":0.01,"report_to":"cf-nel","max_age":604800} +X-Gitlab-Meta: {"correlation_id":"291f87cd975a51a7b756806ce7b53e2e","version":"1"} +Ratelimit-Observed: 4 +Vary: Origin, Accept-Encoding +Gitlab-Sv: localhost +Content-Security-Policy: default-src 'none' +Ratelimit-Reset: 1701333946 +Content-Type: application/json +X-Runtime: 0.101081 +Strict-Transport-Security: max-age=31536000 +Ratelimit-Limit: 2000 {"id":15578026,"description":"Test repository for testing migration from gitlab to gitea","name":"test_repo","name_with_namespace":"gitea / test_repo","path":"test_repo","path_with_namespace":"gitea/test_repo","created_at":"2019-11-28T08:20:33.019Z","default_branch":"master","tag_list":["migration","test"],"topics":["migration","test"],"ssh_url_to_repo":"git@gitlab.com:gitea/test_repo.git","http_url_to_repo":"https://gitlab.com/gitea/test_repo.git","web_url":"https://gitlab.com/gitea/test_repo","readme_url":"https://gitlab.com/gitea/test_repo/-/blob/master/README.md","forks_count":1,"avatar_url":null,"star_count":0,"last_activity_at":"2020-04-19T19:46:04.527Z","namespace":{"id":3181312,"name":"gitea","path":"gitea","kind":"group","full_path":"gitea","parent_id":null,"avatar_url":"/uploads/-/system/group/avatar/3181312/gitea.png","web_url":"https://gitlab.com/groups/gitea"},"container_registry_image_prefix":"registry.gitlab.com/gitea/test_repo","_links":{"self":"https://gitlab.com/api/v4/projects/15578026","issues":"https://gitlab.com/api/v4/projects/15578026/issues","merge_requests":"https://gitlab.com/api/v4/projects/15578026/merge_requests","repo_branches":"https://gitlab.com/api/v4/projects/15578026/repository/branches","labels":"https://gitlab.com/api/v4/projects/15578026/labels","events":"https://gitlab.com/api/v4/projects/15578026/events","members":"https://gitlab.com/api/v4/projects/15578026/members","cluster_agents":"https://gitlab.com/api/v4/projects/15578026/cluster_agents"},"packages_enabled":true,"empty_repo":false,"archived":false,"visibility":"public","resolve_outdated_diff_discussions":false,"issues_enabled":true,"merge_requests_enabled":true,"wiki_enabled":true,"jobs_enabled":true,"snippets_enabled":true,"container_registry_enabled":true,"service_desk_enabled":true,"can_create_merge_request_in":true,"issues_access_level":"enabled","repository_access_level":"enabled","merge_requests_access_level":"enabled","forking_access_level":"enabled","wiki_access_level":"enabled","builds_access_level":"enabled","snippets_access_level":"enabled","pages_access_level":"enabled","analytics_access_level":"enabled","container_registry_access_level":"enabled","security_and_compliance_access_level":"private","releases_access_level":"enabled","environments_access_level":"enabled","feature_flags_access_level":"enabled","infrastructure_access_level":"enabled","monitor_access_level":"enabled","model_experiments_access_level":"enabled","emails_disabled":false,"emails_enabled":true,"shared_runners_enabled":true,"lfs_enabled":true,"creator_id":1241334,"import_status":"none","open_issues_count":0,"description_html":"\u003cp data-sourcepos=\"1:1-1:58\" dir=\"auto\"\u003eTest repository for testing migration from gitlab to gitea\u003c/p\u003e","updated_at":"2022-08-26T19:41:46.691Z","ci_config_path":null,"public_jobs":true,"shared_with_groups":[],"only_allow_merge_if_pipeline_succeeds":false,"allow_merge_on_skipped_pipeline":null,"request_access_enabled":true,"only_allow_merge_if_all_discussions_are_resolved":false,"remove_source_branch_after_merge":true,"printing_merge_request_link_enabled":true,"merge_method":"ff","squash_option":"default_off","enforce_auth_checks_on_uploads":true,"suggestion_commit_message":null,"merge_commit_template":null,"squash_commit_template":null,"issue_branch_template":null,"autoclose_referenced_issues":true,"external_authorization_classification_label":"","requirements_enabled":false,"requirements_access_level":"enabled","security_and_compliance_enabled":false,"compliance_frameworks":[],"permissions":{"project_access":null,"group_access":null}} \ No newline at end of file diff --git a/services/migrations/testdata/gitlab/full_download/_api_v4_projects_15578026_issues?page=1&per_page=2&sort=asc&state=all b/services/migrations/testdata/gitlab/full_download/_api_v4_projects_15578026_issues?page=1&per_page=2&sort=asc&state=all index 002702c592..331a82720c 100644 --- a/services/migrations/testdata/gitlab/full_download/_api_v4_projects_15578026_issues?page=1&per_page=2&sort=asc&state=all +++ b/services/migrations/testdata/gitlab/full_download/_api_v4_projects_15578026_issues?page=1&per_page=2&sort=asc&state=all @@ -1,30 +1,29 @@ -Link: ; rel="first", ; rel="last" -X-Runtime: 0.159122 -Referrer-Policy: strict-origin-when-cross-origin -Cf-Ray: 82d2bad3084536e0-FRA -X-Page: 1 -Server: cloudflare -Date: Tue, 28 Nov 2023 12:49:15 GMT -Content-Security-Policy: default-src 'none' -Vary: Origin, Accept-Encoding -X-Next-Page: -Etag: W/"4c0531a3595f741f229f5a105e013b95" Cache-Control: max-age=0, private, must-revalidate -X-Content-Type-Options: nosniff -X-Frame-Options: SAMEORIGIN -Nel: {"success_fraction":0.01,"report_to":"cf-nel","max_age":604800} +Vary: Origin, Accept-Encoding +Gitlab-Lb: haproxy-main-24-lb-gprd Content-Type: application/json -X-Prev-Page: -Gitlab-Sv: api-gke-us-east1-d -Set-Cookie: _cfuvid=2r5.2KKcEaduxzeG8mTqeefWM9VWUOxTEnR.39DvYRE-1701175755017-0-604800000; path=/; domain=.gitlab.com; HttpOnly; Secure; SameSite=None -X-Gitlab-Meta: {"correlation_id":"9f580eca2b094d4791d372c37bf78ddb","version":"1"} X-Per-Page: 2 -Strict-Transport-Security: max-age=31536000 -Cf-Cache-Status: MISS +X-Prev-Page: +Set-Cookie: _cfuvid=N.nfy5eIdFH5lXhsnMyEbeBkoxabcl1SVeyyP0_NrdE-1701333887790-0-604800000; path=/; domain=.gitlab.com; HttpOnly; Secure; SameSite=None +Content-Security-Policy: default-src 'none' +X-Content-Type-Options: nosniff +X-Next-Page: X-Total-Pages: 1 -Gitlab-Lb: haproxy-main-14-lb-gprd -X-Request-Id: 9f580eca2b094d4791d372c37bf78ddb +Etag: W/"4c0531a3595f741f229f5a105e013b95" +X-Gitlab-Meta: {"correlation_id":"b2eca136986f016d946685fb99287f1c","version":"1"} +Ratelimit-Observed: 8 +Ratelimit-Resettime: Thu, 30 Nov 2023 08:45:47 GMT +X-Frame-Options: SAMEORIGIN +Referrer-Policy: strict-origin-when-cross-origin +Ratelimit-Remaining: 1992 +Gitlab-Sv: localhost +Cf-Cache-Status: MISS +Strict-Transport-Security: max-age=31536000 +Ratelimit-Limit: 2000 X-Total: 2 -Report-To: {"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=9E7OZqlUQ62jqWuT3%2B6gdy6JarFz57SLgPf3vVE%2F9kY39EHL700%2FCXWmYicztZ2RKW8FeEfKYiVXLRA4bOd6eSeEfx3h6yDeDffXHOc7otZ5nj7v6tRtGxIeMMpntykH9RwYbNYR0LY%3D"}],"group":"cf-nel","max_age":604800} +X-Page: 1 +X-Runtime: 0.178587 +Ratelimit-Reset: 1701333947 +Link: ; rel="first", ; rel="last" [{"id":27687675,"iid":1,"project_id":15578026,"title":"Please add an animated gif icon to the merge button","description":"I just want the merge button to hurt my eyes a little. :stuck_out_tongue_closed_eyes:","state":"closed","created_at":"2019-11-28T08:43:35.459Z","updated_at":"2019-11-28T08:46:23.304Z","closed_at":"2019-11-28T08:46:23.275Z","closed_by":{"id":1241334,"username":"lafriks","name":"Lauris BH","state":"active","locked":false,"avatar_url":"https://gitlab.com/uploads/-/system/user/avatar/1241334/avatar.png","web_url":"https://gitlab.com/lafriks"},"labels":["bug","discussion"],"milestone":{"id":1082926,"iid":1,"project_id":15578026,"title":"1.0.0","description":"","state":"closed","created_at":"2019-11-28T08:42:30.301Z","updated_at":"2019-11-28T15:57:52.401Z","due_date":null,"start_date":null,"expired":false,"web_url":"https://gitlab.com/gitea/test_repo/-/milestones/1"},"assignees":[],"author":{"id":1241334,"username":"lafriks","name":"Lauris BH","state":"active","locked":false,"avatar_url":"https://gitlab.com/uploads/-/system/user/avatar/1241334/avatar.png","web_url":"https://gitlab.com/lafriks"},"type":"ISSUE","assignee":null,"user_notes_count":0,"merge_requests_count":0,"upvotes":1,"downvotes":0,"due_date":null,"confidential":false,"discussion_locked":null,"issue_type":"issue","web_url":"https://gitlab.com/gitea/test_repo/-/issues/1","time_stats":{"time_estimate":0,"total_time_spent":0,"human_time_estimate":null,"human_total_time_spent":null},"task_completion_status":{"count":0,"completed_count":0},"blocking_issues_count":0,"has_tasks":true,"task_status":"0 of 0 checklist items completed","_links":{"self":"https://gitlab.com/api/v4/projects/15578026/issues/1","notes":"https://gitlab.com/api/v4/projects/15578026/issues/1/notes","award_emoji":"https://gitlab.com/api/v4/projects/15578026/issues/1/award_emoji","project":"https://gitlab.com/api/v4/projects/15578026","closed_as_duplicate_of":null},"references":{"short":"#1","relative":"#1","full":"gitea/test_repo#1"},"severity":"UNKNOWN","moved_to_id":null,"service_desk_reply_to":null},{"id":27687706,"iid":2,"project_id":15578026,"title":"Test issue","description":"This is test issue 2, do not touch!","state":"closed","created_at":"2019-11-28T08:44:46.277Z","updated_at":"2019-11-28T08:45:44.987Z","closed_at":"2019-11-28T08:45:44.959Z","closed_by":{"id":1241334,"username":"lafriks","name":"Lauris BH","state":"active","locked":false,"avatar_url":"https://gitlab.com/uploads/-/system/user/avatar/1241334/avatar.png","web_url":"https://gitlab.com/lafriks"},"labels":["duplicate"],"milestone":{"id":1082927,"iid":2,"project_id":15578026,"title":"1.1.0","description":"","state":"active","created_at":"2019-11-28T08:42:44.575Z","updated_at":"2019-11-28T08:42:44.575Z","due_date":null,"start_date":null,"expired":false,"web_url":"https://gitlab.com/gitea/test_repo/-/milestones/2"},"assignees":[],"author":{"id":1241334,"username":"lafriks","name":"Lauris BH","state":"active","locked":false,"avatar_url":"https://gitlab.com/uploads/-/system/user/avatar/1241334/avatar.png","web_url":"https://gitlab.com/lafriks"},"type":"ISSUE","assignee":null,"user_notes_count":2,"merge_requests_count":0,"upvotes":1,"downvotes":1,"due_date":null,"confidential":false,"discussion_locked":null,"issue_type":"issue","web_url":"https://gitlab.com/gitea/test_repo/-/issues/2","time_stats":{"time_estimate":0,"total_time_spent":0,"human_time_estimate":null,"human_total_time_spent":null},"task_completion_status":{"count":0,"completed_count":0},"blocking_issues_count":0,"has_tasks":true,"task_status":"0 of 0 checklist items completed","_links":{"self":"https://gitlab.com/api/v4/projects/15578026/issues/2","notes":"https://gitlab.com/api/v4/projects/15578026/issues/2/notes","award_emoji":"https://gitlab.com/api/v4/projects/15578026/issues/2/award_emoji","project":"https://gitlab.com/api/v4/projects/15578026","closed_as_duplicate_of":null},"references":{"short":"#2","relative":"#2","full":"gitea/test_repo#2"},"severity":"UNKNOWN","moved_to_id":null,"service_desk_reply_to":null}] \ No newline at end of file diff --git a/services/migrations/testdata/gitlab/full_download/_api_v4_projects_15578026_issues_1_award_emoji?page=1&per_page=2 b/services/migrations/testdata/gitlab/full_download/_api_v4_projects_15578026_issues_1_award_emoji?page=1&per_page=2 index b793ae621e..d8ab294ee1 100644 --- a/services/migrations/testdata/gitlab/full_download/_api_v4_projects_15578026_issues_1_award_emoji?page=1&per_page=2 +++ b/services/migrations/testdata/gitlab/full_download/_api_v4_projects_15578026_issues_1_award_emoji?page=1&per_page=2 @@ -1,30 +1,29 @@ -Content-Type: application/json -Link: ; rel="first", ; rel="last" +X-Total-Pages: 1 +Referrer-Policy: strict-origin-when-cross-origin +Cache-Control: max-age=0, private, must-revalidate X-Frame-Options: SAMEORIGIN -X-Gitlab-Meta: {"correlation_id":"e7004439ffc110c87370872a44c60a0c","version":"1"} -X-Next-Page: -Cf-Ray: 82d2bad50a5036e0-FRA +X-Runtime: 0.052748 X-Total: 2 -Gitlab-Lb: haproxy-main-05-lb-gprd -Server: cloudflare +Gitlab-Sv: localhost +Link: ; rel="first", ; rel="last" X-Content-Type-Options: nosniff +X-Gitlab-Meta: {"correlation_id":"22fc215ac386644c9cb8736b652cf702","version":"1"} X-Per-Page: 2 Strict-Transport-Security: max-age=31536000 -Referrer-Policy: strict-origin-when-cross-origin -Date: Tue, 28 Nov 2023 12:49:15 GMT -Vary: Origin, Accept-Encoding -Gitlab-Sv: api-gke-us-east1-d +Ratelimit-Reset: 1701333947 Content-Security-Policy: default-src 'none' -X-Page: 1 -X-Runtime: 0.083400 -Report-To: {"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=FGgIHqeMkQfVcvYR2OvVkGghGfBMCX7OdZP2R9KPX1C1EbqhK5Q91enyHfOB%2FTPE1tavm%2FrQjCVlC1DpczhDkA3dDQ%2FXnEMsgNdKSCPMI6XY9Q5UwNUliA%2FIQmrvb8BLBjFcZQuf0qA%3D"}],"group":"cf-nel","max_age":604800} -Nel: {"success_fraction":0.01,"report_to":"cf-nel","max_age":604800} -X-Request-Id: e7004439ffc110c87370872a44c60a0c +Ratelimit-Remaining: 1991 +Ratelimit-Observed: 9 +X-Next-Page: +Ratelimit-Resettime: Thu, 30 Nov 2023 08:45:47 GMT +Ratelimit-Limit: 2000 +Gitlab-Lb: haproxy-main-43-lb-gprd Cf-Cache-Status: MISS -Set-Cookie: _cfuvid=FTUGd2.HvTbs3C.AqBngn4_DMsUeKKDVU2iUlk9AYC0-1701175755249-0-604800000; path=/; domain=.gitlab.com; HttpOnly; Secure; SameSite=None -Cache-Control: max-age=0, private, must-revalidate Etag: W/"69c922434ed11248c864d157eb8eabfc" -X-Total-Pages: 1 +Content-Type: application/json +Vary: Origin, Accept-Encoding +X-Page: 1 X-Prev-Page: +Set-Cookie: _cfuvid=POpffkskz4lvLcv2Fhjp7lF3MsmIOugWDzFGtb3ZUig-1701333887995-0-604800000; path=/; domain=.gitlab.com; HttpOnly; Secure; SameSite=None [{"id":3009580,"name":"thumbsup","user":{"id":1241334,"username":"lafriks","name":"Lauris BH","state":"active","locked":false,"avatar_url":"https://gitlab.com/uploads/-/system/user/avatar/1241334/avatar.png","web_url":"https://gitlab.com/lafriks"},"created_at":"2019-11-28T08:43:40.322Z","updated_at":"2019-11-28T08:43:40.322Z","awardable_id":27687675,"awardable_type":"Issue","url":null},{"id":3009585,"name":"open_mouth","user":{"id":1241334,"username":"lafriks","name":"Lauris BH","state":"active","locked":false,"avatar_url":"https://gitlab.com/uploads/-/system/user/avatar/1241334/avatar.png","web_url":"https://gitlab.com/lafriks"},"created_at":"2019-11-28T08:44:01.902Z","updated_at":"2019-11-28T08:44:01.902Z","awardable_id":27687675,"awardable_type":"Issue","url":null}] \ No newline at end of file diff --git a/services/migrations/testdata/gitlab/full_download/_api_v4_projects_15578026_issues_1_award_emoji?page=2&per_page=2 b/services/migrations/testdata/gitlab/full_download/_api_v4_projects_15578026_issues_1_award_emoji?page=2&per_page=2 index 59eeb59228..248afeff8f 100644 --- a/services/migrations/testdata/gitlab/full_download/_api_v4_projects_15578026_issues_1_award_emoji?page=2&per_page=2 +++ b/services/migrations/testdata/gitlab/full_download/_api_v4_projects_15578026_issues_1_award_emoji?page=2&per_page=2 @@ -1,32 +1,31 @@ -Link: ; rel="first", ; rel="last" -Vary: Origin, Accept-Encoding -Etag: W/"4f53cda18c2baa0c0354bb5f9a3ecbe5" -X-Content-Type-Options: nosniff -X-Gitlab-Meta: {"correlation_id":"f20460891555dcf146d340bc54a11b6d","version":"1"} -Referrer-Policy: strict-origin-when-cross-origin -Server: cloudflare -Date: Tue, 28 Nov 2023 12:49:15 GMT -X-Page: 2 -X-Per-Page: 2 -Gitlab-Sv: api-gke-us-east1-d -Cf-Cache-Status: MISS -Content-Length: 2 -Content-Security-Policy: default-src 'none' -X-Frame-Options: SAMEORIGIN -Report-To: {"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=Bkk22CNDQrv7p4D3Bv61f2WkW%2BWU1E3RioJZfjI%2BPxqDwi5NRfqpkRR795HhnUvCND5Sbk9cWJnET5ewf7YSCIpRBjsuxeG8sb2iRg4lkEOYTxiJphQ7EEbqaZh8Bxj3U3pcUezUjgk%3D"}],"group":"cf-nel","max_age":604800} -Set-Cookie: _cfuvid=x26H_NQHx0V8bDfYro78pCd.h0i8fyYb8Vlqpq324ZM-1701175755696-0-604800000; path=/; domain=.gitlab.com; HttpOnly; Secure; SameSite=None Content-Type: application/json +Content-Length: 2 X-Next-Page: -X-Total-Pages: 1 -Cf-Ray: 82d2bad66c0336e0-FRA -Cache-Control: max-age=0, private, must-revalidate -X-Prev-Page: -Accept-Ranges: bytes -X-Request-Id: f20460891555dcf146d340bc54a11b6d -X-Runtime: 0.289453 -X-Total: 2 +X-Gitlab-Meta: {"correlation_id":"6b9bc368e2cdc69a1b8e7d2dff7546c5","version":"1"} +Referrer-Policy: strict-origin-when-cross-origin +Ratelimit-Reset: 1701333948 Strict-Transport-Security: max-age=31536000 -Gitlab-Lb: haproxy-main-11-lb-gprd -Nel: {"success_fraction":0.01,"report_to":"cf-nel","max_age":604800} +X-Per-Page: 2 +X-Total: 2 +Ratelimit-Limit: 2000 +Etag: W/"4f53cda18c2baa0c0354bb5f9a3ecbe5" +Link: ; rel="first", ; rel="last" +X-Runtime: 0.069944 +Ratelimit-Remaining: 1990 +Ratelimit-Resettime: Thu, 30 Nov 2023 08:45:48 GMT +Gitlab-Sv: localhost +X-Prev-Page: +X-Total-Pages: 1 +Ratelimit-Observed: 10 +Gitlab-Lb: haproxy-main-17-lb-gprd +Content-Security-Policy: default-src 'none' +X-Content-Type-Options: nosniff +X-Frame-Options: SAMEORIGIN +Accept-Ranges: bytes +Cache-Control: max-age=0, private, must-revalidate +Vary: Origin, Accept-Encoding +X-Page: 2 +Cf-Cache-Status: MISS +Set-Cookie: _cfuvid=vcfsxezcg_2Kdh8xD5coOU_uxQIH1in.6BsRttrSIYg-1701333888217-0-604800000; path=/; domain=.gitlab.com; HttpOnly; Secure; SameSite=None [] \ No newline at end of file diff --git a/services/migrations/testdata/gitlab/full_download/_api_v4_projects_15578026_issues_2_award_emoji?page=1&per_page=2 b/services/migrations/testdata/gitlab/full_download/_api_v4_projects_15578026_issues_2_award_emoji?page=1&per_page=2 index f05cb2d54b..70c50c8fed 100644 --- a/services/migrations/testdata/gitlab/full_download/_api_v4_projects_15578026_issues_2_award_emoji?page=1&per_page=2 +++ b/services/migrations/testdata/gitlab/full_download/_api_v4_projects_15578026_issues_2_award_emoji?page=1&per_page=2 @@ -1,30 +1,29 @@ -Link: ; rel="next", ; rel="first", ; rel="last" -X-Page: 1 -X-Runtime: 0.115916 -X-Total: 6 -Report-To: {"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=ADEmtI0JuDZjWVSHJOsQaMLciy9VlKx99GnnvJCu3dhruUwvZtlaumIg66Rp11DfZ%2FVwF4ccEdcWkFGB1WRhHZ6l2l4QHSd7XynqUquDn0NIlCPRAMKdUcu5IVoxQ4I0eLLlnC6YjRM%3D"}],"group":"cf-nel","max_age":604800} -Server: cloudflare -Cf-Ray: 82d2bad93ec736e0-FRA -X-Gitlab-Meta: {"correlation_id":"4e94ae6766e981799b1cb058e123531d","version":"1"} -X-Per-Page: 2 -X-Request-Id: 4e94ae6766e981799b1cb058e123531d -Referrer-Policy: strict-origin-when-cross-origin Cf-Cache-Status: MISS -Set-Cookie: _cfuvid=dSnltVw8Zz3q9EeG6JoHz.E2rKQJrf8TJpuY.TK4R3M-1701175755959-0-604800000; path=/; domain=.gitlab.com; HttpOnly; Secure; SameSite=None +Etag: W/"5fdbcbf64f34ba0e74ce9dd8d6e0efe3" X-Content-Type-Options: nosniff +X-Per-Page: 2 +Ratelimit-Limit: 2000 +Set-Cookie: _cfuvid=NLtUZdQlWvWiXr4L8Zfc555FowZOCxJlA0pAOAEkNvg-1701333888445-0-604800000; path=/; domain=.gitlab.com; HttpOnly; Secure; SameSite=None +X-Runtime: 0.075612 +Ratelimit-Reset: 1701333948 +Ratelimit-Resettime: Thu, 30 Nov 2023 08:45:48 GMT +X-Page: 1 +X-Prev-Page: +X-Total-Pages: 3 X-Frame-Options: SAMEORIGIN -Gitlab-Lb: haproxy-main-35-lb-gprd +Referrer-Policy: strict-origin-when-cross-origin +Content-Security-Policy: default-src 'none' +Ratelimit-Observed: 11 +Gitlab-Lb: haproxy-main-09-lb-gprd +Gitlab-Sv: localhost +Ratelimit-Remaining: 1989 +Cache-Control: max-age=0, private, must-revalidate +Link: ; rel="next", ; rel="first", ; rel="last" +X-Gitlab-Meta: {"correlation_id":"a69709cf552479bc5f5f3e4e1f808790","version":"1"} +X-Next-Page: 2 +Strict-Transport-Security: max-age=31536000 Content-Type: application/json Vary: Origin, Accept-Encoding -Strict-Transport-Security: max-age=31536000 -Date: Tue, 28 Nov 2023 12:49:15 GMT -Cache-Control: max-age=0, private, must-revalidate -X-Prev-Page: -Content-Security-Policy: default-src 'none' -Etag: W/"5fdbcbf64f34ba0e74ce9dd8d6e0efe3" -X-Next-Page: 2 -X-Total-Pages: 3 -Gitlab-Sv: api-gke-us-east1-d -Nel: {"success_fraction":0.01,"report_to":"cf-nel","max_age":604800} +X-Total: 6 [{"id":3009627,"name":"thumbsup","user":{"id":1241334,"username":"lafriks","name":"Lauris BH","state":"active","locked":false,"avatar_url":"https://gitlab.com/uploads/-/system/user/avatar/1241334/avatar.png","web_url":"https://gitlab.com/lafriks"},"created_at":"2019-11-28T08:46:42.657Z","updated_at":"2019-11-28T08:46:42.657Z","awardable_id":27687706,"awardable_type":"Issue","url":null},{"id":3009628,"name":"thumbsdown","user":{"id":1241334,"username":"lafriks","name":"Lauris BH","state":"active","locked":false,"avatar_url":"https://gitlab.com/uploads/-/system/user/avatar/1241334/avatar.png","web_url":"https://gitlab.com/lafriks"},"created_at":"2019-11-28T08:46:43.471Z","updated_at":"2019-11-28T08:46:43.471Z","awardable_id":27687706,"awardable_type":"Issue","url":null}] \ No newline at end of file diff --git a/services/migrations/testdata/gitlab/full_download/_api_v4_projects_15578026_issues_2_award_emoji?page=2&per_page=2 b/services/migrations/testdata/gitlab/full_download/_api_v4_projects_15578026_issues_2_award_emoji?page=2&per_page=2 index 71c3bf55f9..1014d9dbc5 100644 --- a/services/migrations/testdata/gitlab/full_download/_api_v4_projects_15578026_issues_2_award_emoji?page=2&per_page=2 +++ b/services/migrations/testdata/gitlab/full_download/_api_v4_projects_15578026_issues_2_award_emoji?page=2&per_page=2 @@ -1,30 +1,29 @@ -X-Page: 2 -Date: Tue, 28 Nov 2023 12:49:16 GMT -Cf-Cache-Status: MISS -Server: cloudflare -Cf-Ray: 82d2badaf87c36e0-FRA -Cache-Control: max-age=0, private, must-revalidate +Ratelimit-Limit: 2000 X-Content-Type-Options: nosniff -X-Prev-Page: 1 -Nel: {"success_fraction":0.01,"report_to":"cf-nel","max_age":604800} -Set-Cookie: _cfuvid=oMXmuUzJyrMWnL7AZ6Rv_LEdPzTtTDXYj5QeS2aWgMk-1701175756551-0-604800000; path=/; domain=.gitlab.com; HttpOnly; Secure; SameSite=None -Vary: Origin, Accept-Encoding -X-Gitlab-Meta: {"correlation_id":"c870b177189ee30c89f8a2a9b4e73dd1","version":"1"} -X-Request-Id: c870b177189ee30c89f8a2a9b4e73dd1 -Content-Security-Policy: default-src 'none' -Link: ; rel="prev", ; rel="next", ; rel="first", ; rel="last" -X-Frame-Options: SAMEORIGIN -X-Per-Page: 2 -X-Runtime: 0.127639 +Ratelimit-Resettime: Thu, 30 Nov 2023 08:45:48 GMT X-Total: 6 -Etag: W/"d16c513b32212d9286fce6f53340c1cf" -Referrer-Policy: strict-origin-when-cross-origin +Set-Cookie: _cfuvid=E5GyZy0rB2zrRH0ewMyrJd1wBrt7A2sGNmOHTiWwbYk-1701333888703-0-604800000; path=/; domain=.gitlab.com; HttpOnly; Secure; SameSite=None X-Next-Page: 3 +X-Page: 2 +Link: ; rel="prev", ; rel="next", ; rel="first", ; rel="last" +X-Gitlab-Meta: {"correlation_id":"41e59fb2e78f5e68518b81bd4ff3bb1b","version":"1"} +X-Prev-Page: 1 +Cf-Cache-Status: MISS +Referrer-Policy: strict-origin-when-cross-origin +Gitlab-Lb: haproxy-main-26-lb-gprd +Cache-Control: max-age=0, private, must-revalidate +Etag: W/"d16c513b32212d9286fce6f53340c1cf" +Vary: Origin, Accept-Encoding +X-Per-Page: 2 Strict-Transport-Security: max-age=31536000 -Gitlab-Lb: haproxy-main-36-lb-gprd -Gitlab-Sv: api-gke-us-east1-b -Report-To: {"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=%2FI0CdRwNeg7W0N4yZ3QhDC3KMI8IjKMzE6bBxxqRFc6PHF2Ch%2BTeGF2V6is9KAA5oiX4gUEk%2BYmceKQAWx2LoTkixvqjkFN7ygCEAfh44HwZ%2FM7pxUGD7uUUAycRKNhFNhfMQCyikpM%3D"}],"group":"cf-nel","max_age":604800} +Ratelimit-Reset: 1701333948 Content-Type: application/json +X-Runtime: 0.105758 +Ratelimit-Remaining: 1988 +Content-Security-Policy: default-src 'none' +X-Frame-Options: SAMEORIGIN +Gitlab-Sv: localhost X-Total-Pages: 3 +Ratelimit-Observed: 12 [{"id":3009632,"name":"laughing","user":{"id":1241334,"username":"lafriks","name":"Lauris BH","state":"active","locked":false,"avatar_url":"https://gitlab.com/uploads/-/system/user/avatar/1241334/avatar.png","web_url":"https://gitlab.com/lafriks"},"created_at":"2019-11-28T08:47:14.381Z","updated_at":"2019-11-28T08:47:14.381Z","awardable_id":27687706,"awardable_type":"Issue","url":null},{"id":3009634,"name":"tada","user":{"id":1241334,"username":"lafriks","name":"Lauris BH","state":"active","locked":false,"avatar_url":"https://gitlab.com/uploads/-/system/user/avatar/1241334/avatar.png","web_url":"https://gitlab.com/lafriks"},"created_at":"2019-11-28T08:47:18.254Z","updated_at":"2019-11-28T08:47:18.254Z","awardable_id":27687706,"awardable_type":"Issue","url":null}] \ No newline at end of file diff --git a/services/migrations/testdata/gitlab/full_download/_api_v4_projects_15578026_issues_2_award_emoji?page=3&per_page=2 b/services/migrations/testdata/gitlab/full_download/_api_v4_projects_15578026_issues_2_award_emoji?page=3&per_page=2 index 32d59686d6..9c42bfb9bf 100644 --- a/services/migrations/testdata/gitlab/full_download/_api_v4_projects_15578026_issues_2_award_emoji?page=3&per_page=2 +++ b/services/migrations/testdata/gitlab/full_download/_api_v4_projects_15578026_issues_2_award_emoji?page=3&per_page=2 @@ -1,30 +1,29 @@ Content-Type: application/json -X-Per-Page: 2 -X-Runtime: 0.064908 -Cf-Cache-Status: MISS -Set-Cookie: _cfuvid=ZjDbW2vPFo78ylQFSBUBFxG52YQDettE8ToOtGdjcuA-1701175757074-0-604800000; path=/; domain=.gitlab.com; HttpOnly; Secure; SameSite=None -X-Page: 3 -X-Prev-Page: 2 -Cache-Control: max-age=0, private, must-revalidate -Content-Security-Policy: default-src 'none' -Etag: W/"165d37bf09a54bb31f4619cca8722cb4" -X-Frame-Options: SAMEORIGIN -Report-To: {"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=O88Hv3gnBHSRVnjU6A0vZz9VFYLkUI2aW%2FZiC26Tgu35WHtO9UsoGZNnTsQZ6jmsJvi8UX2jNHScalDn4%2FcjYk32GTcBYx6sHTz4tFS2YO4udL%2F1BjJBDG1F%2Br59XlTCgC2RZKSBYGg%3D"}],"group":"cf-nel","max_age":604800} -X-Total-Pages: 3 -Cf-Ray: 82d2badeac3536e0-FRA -Date: Tue, 28 Nov 2023 12:49:17 GMT -Gitlab-Lb: haproxy-main-23-lb-gprd X-Content-Type-Options: nosniff -X-Request-Id: 23c23dd0a05c4fc887a2090ed880e0cf -Nel: {"success_fraction":0.01,"report_to":"cf-nel","max_age":604800} -Server: cloudflare -X-Gitlab-Meta: {"correlation_id":"23c23dd0a05c4fc887a2090ed880e0cf","version":"1"} +X-Frame-Options: SAMEORIGIN Referrer-Policy: strict-origin-when-cross-origin -Gitlab-Sv: api-gke-us-east1-d Link: ; rel="prev", ; rel="first", ; rel="last" -Vary: Origin, Accept-Encoding -X-Next-Page: -X-Total: 6 +Cf-Cache-Status: MISS +Etag: W/"165d37bf09a54bb31f4619cca8722cb4" +Ratelimit-Observed: 13 +Ratelimit-Limit: 2000 +Set-Cookie: _cfuvid=W6F2uJSFkB3Iyl27_xtklVvP4Z_nSsjPqytClHPW9H8-1701333888913-0-604800000; path=/; domain=.gitlab.com; HttpOnly; Secure; SameSite=None +X-Page: 3 +X-Total-Pages: 3 Strict-Transport-Security: max-age=31536000 +Ratelimit-Resettime: Thu, 30 Nov 2023 08:45:48 GMT +Cache-Control: max-age=0, private, must-revalidate +Vary: Origin, Accept-Encoding +X-Gitlab-Meta: {"correlation_id":"b805751aeb6f562dff684cec34dfdc0b","version":"1"} +X-Per-Page: 2 +X-Prev-Page: 2 +X-Runtime: 0.061943 +Gitlab-Lb: haproxy-main-11-lb-gprd +Gitlab-Sv: localhost +X-Total: 6 +Ratelimit-Remaining: 1987 +Content-Security-Policy: default-src 'none' +X-Next-Page: +Ratelimit-Reset: 1701333948 [{"id":3009636,"name":"confused","user":{"id":1241334,"username":"lafriks","name":"Lauris BH","state":"active","locked":false,"avatar_url":"https://gitlab.com/uploads/-/system/user/avatar/1241334/avatar.png","web_url":"https://gitlab.com/lafriks"},"created_at":"2019-11-28T08:47:27.248Z","updated_at":"2019-11-28T08:47:27.248Z","awardable_id":27687706,"awardable_type":"Issue","url":null},{"id":3009640,"name":"hearts","user":{"id":1241334,"username":"lafriks","name":"Lauris BH","state":"active","locked":false,"avatar_url":"https://gitlab.com/uploads/-/system/user/avatar/1241334/avatar.png","web_url":"https://gitlab.com/lafriks"},"created_at":"2019-11-28T08:47:33.059Z","updated_at":"2019-11-28T08:47:33.059Z","awardable_id":27687706,"awardable_type":"Issue","url":null}] \ No newline at end of file diff --git a/services/migrations/testdata/gitlab/full_download/_api_v4_projects_15578026_issues_2_award_emoji?page=4&per_page=2 b/services/migrations/testdata/gitlab/full_download/_api_v4_projects_15578026_issues_2_award_emoji?page=4&per_page=2 index f6ae37d172..e550e4ad19 100644 --- a/services/migrations/testdata/gitlab/full_download/_api_v4_projects_15578026_issues_2_award_emoji?page=4&per_page=2 +++ b/services/migrations/testdata/gitlab/full_download/_api_v4_projects_15578026_issues_2_award_emoji?page=4&per_page=2 @@ -1,32 +1,31 @@ -X-Content-Type-Options: nosniff +Ratelimit-Remaining: 1986 +Accept-Ranges: bytes +Set-Cookie: _cfuvid=DZQIMINjFohqKKjkWnojkq2xuUaqb42YEQg3BZXe68w-1701333889148-0-604800000; path=/; domain=.gitlab.com; HttpOnly; Secure; SameSite=None Strict-Transport-Security: max-age=31536000 -Gitlab-Sv: api-gke-us-east1-b -Content-Type: application/json -X-Total: 6 -X-Total-Pages: 3 +X-Prev-Page: +Ratelimit-Reset: 1701333949 +Ratelimit-Limit: 2000 Etag: W/"4f53cda18c2baa0c0354bb5f9a3ecbe5" +Cache-Control: max-age=0, private, must-revalidate X-Next-Page: X-Page: 4 -X-Runtime: 0.084379 -X-Frame-Options: SAMEORIGIN -X-Request-Id: 3236d6ec6845224f284a741528203ece -Cf-Ray: 82d2bae1df9036e0-FRA -Cache-Control: max-age=0, private, must-revalidate -X-Gitlab-Meta: {"correlation_id":"3236d6ec6845224f284a741528203ece","version":"1"} -Accept-Ranges: bytes -Report-To: {"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=KylRcRbE8E7pfR1zdRiqiCe5Tq%2FCqFKgyO01E7o9yLEtU1tW7Xi2PGPau9SZasTalmgkxUeyKWymp%2BE2ClVxldnQom%2BpoAMgccEtFGhHWOTsNyfiI%2B0NbOpytx%2Bf1%2BZLyf0vV84%2FuSQ%3D"}],"group":"cf-nel","max_age":604800} -Nel: {"success_fraction":0.01,"report_to":"cf-nel","max_age":604800} -Cf-Cache-Status: MISS -Link: ; rel="first", ; rel="last" -X-Per-Page: 2 -X-Prev-Page: Referrer-Policy: strict-origin-when-cross-origin -Gitlab-Lb: haproxy-main-33-lb-gprd -Date: Tue, 28 Nov 2023 12:49:17 GMT -Content-Length: 2 +Gitlab-Sv: localhost +Content-Type: application/json +X-Content-Type-Options: nosniff +Link: ; rel="first", ; rel="last" Vary: Origin, Accept-Encoding -Set-Cookie: _cfuvid=aeqVJxNjrsFvkPxbn5RmHE1mf1qsFlHnDXahuXTl4FU-1701175757309-0-604800000; path=/; domain=.gitlab.com; HttpOnly; Secure; SameSite=None Content-Security-Policy: default-src 'none' -Server: cloudflare +X-Runtime: 0.081728 +X-Total: 6 +Content-Length: 2 +X-Frame-Options: SAMEORIGIN +X-Gitlab-Meta: {"correlation_id":"588184d2d9ad2c4a7e7c00a51575091c","version":"1"} +Cf-Cache-Status: MISS +X-Total-Pages: 3 +Ratelimit-Observed: 14 +Ratelimit-Resettime: Thu, 30 Nov 2023 08:45:49 GMT +Gitlab-Lb: haproxy-main-34-lb-gprd +X-Per-Page: 2 [] \ No newline at end of file diff --git a/services/migrations/testdata/gitlab/full_download/_api_v4_projects_15578026_issues_2_discussions?page=1&per_page=100 b/services/migrations/testdata/gitlab/full_download/_api_v4_projects_15578026_issues_2_discussions?page=1&per_page=100 index b64c6933f1..d74fc325a3 100644 --- a/services/migrations/testdata/gitlab/full_download/_api_v4_projects_15578026_issues_2_discussions?page=1&per_page=100 +++ b/services/migrations/testdata/gitlab/full_download/_api_v4_projects_15578026_issues_2_discussions?page=1&per_page=100 @@ -1,30 +1,29 @@ -Gitlab-Sv: api-gke-us-east1-c -Content-Type: application/json -X-Next-Page: +X-Runtime: 0.173849 +Content-Security-Policy: default-src 'none' +X-Per-Page: 100 +X-Prev-Page: +X-Total: 4 +Ratelimit-Observed: 15 X-Page: 1 -X-Request-Id: b9e599712b5bf48889f4823ed0fa7a48 -X-Runtime: 0.206772 +Ratelimit-Remaining: 1985 +Cache-Control: max-age=0, private, must-revalidate +X-Gitlab-Meta: {"correlation_id":"1d2b49b1b17e0c2d58c800a1b6c7eca3","version":"1"} +X-Next-Page: +Referrer-Policy: strict-origin-when-cross-origin Cf-Cache-Status: MISS +Content-Type: application/json Etag: W/"bcc91e8a7b2eac98b4d96ae791e0649d" +Vary: Origin, Accept-Encoding +X-Frame-Options: SAMEORIGIN +Strict-Transport-Security: max-age=31536000 +Ratelimit-Reset: 1701333949 +Gitlab-Lb: haproxy-main-08-lb-gprd +Gitlab-Sv: localhost Link: ; rel="first", ; rel="last" X-Content-Type-Options: nosniff -X-Gitlab-Meta: {"correlation_id":"b9e599712b5bf48889f4823ed0fa7a48","version":"1"} -X-Frame-Options: SAMEORIGIN -Nel: {"success_fraction":0.01,"report_to":"cf-nel","max_age":604800} -Server: cloudflare -Set-Cookie: _cfuvid=D83dc_PGYBYEnaF84X545Fe9FtHn5aPGRxVc5ZgBzQI-1701175757669-0-604800000; path=/; domain=.gitlab.com; HttpOnly; Secure; SameSite=None -X-Per-Page: 100 -X-Total: 4 -Report-To: {"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=eUe2Fe%2BfauPaulXPbv0BrsPVKsTex9VG99r8umtpujViX5FKUHY0TLekejB1ptkQ5b9sVJcbddSZxmdy28fDpAArAuFrUJ2kCq6cT0NguQYEZMUi97Z2VldHTCwONM72HGZ29k5aqv8%3D"}],"group":"cf-nel","max_age":604800} -Referrer-Policy: strict-origin-when-cross-origin -Gitlab-Lb: haproxy-main-19-lb-gprd -Date: Tue, 28 Nov 2023 12:49:17 GMT -Cache-Control: max-age=0, private, must-revalidate X-Total-Pages: 1 -Strict-Transport-Security: max-age=31536000 -Cf-Ray: 82d2bae349d636e0-FRA -Content-Security-Policy: default-src 'none' -Vary: Origin, Accept-Encoding -X-Prev-Page: +Ratelimit-Limit: 2000 +Set-Cookie: _cfuvid=yj.PGr9ftsz1kNpgtsmQhAcGpdMnklLE.NQ9h71hm5Q-1701333889475-0-604800000; path=/; domain=.gitlab.com; HttpOnly; Secure; SameSite=None +Ratelimit-Resettime: Thu, 30 Nov 2023 08:45:49 GMT [{"id":"617967369d98d8b73b6105a40318fe839f931a24","individual_note":true,"notes":[{"id":251637434,"type":null,"body":"This is a comment","attachment":null,"author":{"id":1241334,"username":"lafriks","name":"Lauris BH","state":"active","locked":false,"avatar_url":"https://gitlab.com/uploads/-/system/user/avatar/1241334/avatar.png","web_url":"https://gitlab.com/lafriks"},"created_at":"2019-11-28T08:44:52.501Z","updated_at":"2019-11-28T08:44:52.501Z","system":false,"noteable_id":27687706,"noteable_type":"Issue","project_id":15578026,"resolvable":false,"confidential":false,"internal":false,"noteable_iid":2,"commands_changes":{}}]},{"id":"b92d74daee411a17d844041bcd3c267ade58f680","individual_note":true,"notes":[{"id":251637528,"type":null,"body":"changed milestone to %2","attachment":null,"author":{"id":1241334,"username":"lafriks","name":"Lauris BH","state":"active","locked":false,"avatar_url":"https://gitlab.com/uploads/-/system/user/avatar/1241334/avatar.png","web_url":"https://gitlab.com/lafriks"},"created_at":"2019-11-28T08:45:02.329Z","updated_at":"2019-11-28T08:45:02.335Z","system":true,"noteable_id":27687706,"noteable_type":"Issue","project_id":15578026,"resolvable":false,"confidential":false,"internal":false,"noteable_iid":2,"commands_changes":{}}]},{"id":"6010f567d2b58758ef618070372c97891ac75349","individual_note":true,"notes":[{"id":251637892,"type":null,"body":"closed","attachment":null,"author":{"id":1241334,"username":"lafriks","name":"Lauris BH","state":"active","locked":false,"avatar_url":"https://gitlab.com/uploads/-/system/user/avatar/1241334/avatar.png","web_url":"https://gitlab.com/lafriks"},"created_at":"2019-11-28T08:45:45.007Z","updated_at":"2019-11-28T08:45:45.010Z","system":true,"noteable_id":27687706,"noteable_type":"Issue","project_id":15578026,"resolvable":false,"confidential":false,"internal":false,"noteable_iid":2,"commands_changes":{}}]},{"id":"632d0cbfd6a1a08f38aaf9ef7715116f4b188ebb","individual_note":true,"notes":[{"id":251637999,"type":null,"body":"A second comment","attachment":null,"author":{"id":1241334,"username":"lafriks","name":"Lauris BH","state":"active","locked":false,"avatar_url":"https://gitlab.com/uploads/-/system/user/avatar/1241334/avatar.png","web_url":"https://gitlab.com/lafriks"},"created_at":"2019-11-28T08:45:53.501Z","updated_at":"2019-11-28T08:45:53.501Z","system":false,"noteable_id":27687706,"noteable_type":"Issue","project_id":15578026,"resolvable":false,"confidential":false,"internal":false,"noteable_iid":2,"commands_changes":{}}]}] \ No newline at end of file diff --git a/services/migrations/testdata/gitlab/full_download/_api_v4_projects_15578026_labels?page=1&per_page=100 b/services/migrations/testdata/gitlab/full_download/_api_v4_projects_15578026_labels?page=1&per_page=100 index 3a9e7ee1ce..c79889fbf4 100644 --- a/services/migrations/testdata/gitlab/full_download/_api_v4_projects_15578026_labels?page=1&per_page=100 +++ b/services/migrations/testdata/gitlab/full_download/_api_v4_projects_15578026_labels?page=1&per_page=100 @@ -1,30 +1,29 @@ -Content-Type: application/json -Content-Security-Policy: default-src 'none' +Cache-Control: max-age=0, private, must-revalidate +Strict-Transport-Security: max-age=31536000 +Gitlab-Lb: haproxy-main-28-lb-gprd +Link: ; rel="first", ; rel="last" +X-Per-Page: 100 +X-Runtime: 0.149464 X-Total: 9 +Ratelimit-Observed: 6 +Gitlab-Sv: localhost +X-Frame-Options: SAMEORIGIN +X-Gitlab-Meta: {"correlation_id":"2ccddf20767704a98ed6b582db3b103e","version":"1"} +X-Next-Page: +X-Prev-Page: +X-Total-Pages: 1 +Ratelimit-Remaining: 1994 +Etag: W/"5a3fb9bc7b1018070943f4aa1353f8b6" +Ratelimit-Limit: 2000 +X-Page: 1 +Content-Type: application/json +Vary: Origin, Accept-Encoding +Set-Cookie: _cfuvid=geNpLvH8Cv5XeYfUVwtpaazw43v9lCcqHE.vyXGk3kU-1701333887126-0-604800000; path=/; domain=.gitlab.com; HttpOnly; Secure; SameSite=None +X-Content-Type-Options: nosniff +Ratelimit-Reset: 1701333947 +Ratelimit-Resettime: Thu, 30 Nov 2023 08:45:47 GMT +Content-Security-Policy: default-src 'none' Referrer-Policy: strict-origin-when-cross-origin Cf-Cache-Status: MISS -X-Runtime: 0.181345 -Set-Cookie: _cfuvid=tqgklLOiSYdxU.Rdf6ibHODgg3IHELmncXoiqglyFi8-1701175753621-0-604800000; path=/; domain=.gitlab.com; HttpOnly; Secure; SameSite=None -Server: cloudflare -X-Gitlab-Meta: {"correlation_id":"f7dd6b0d5b6d5a817cc078222a55edd3","version":"1"} -Gitlab-Lb: haproxy-main-11-lb-gprd -Cache-Control: max-age=0, private, must-revalidate -Link: ; rel="first", ; rel="last" -X-Prev-Page: -Gitlab-Sv: api-gke-us-east1-d -X-Frame-Options: SAMEORIGIN -X-Next-Page: -X-Page: 1 -X-Per-Page: 100 -X-Request-Id: f7dd6b0d5b6d5a817cc078222a55edd3 -X-Total-Pages: 1 -Strict-Transport-Security: max-age=31536000 -Nel: {"success_fraction":0.01,"report_to":"cf-nel","max_age":604800} -Cf-Ray: 82d2baca3f9336e0-FRA -Etag: W/"5a3fb9bc7b1018070943f4aa1353f8b6" -Vary: Origin, Accept-Encoding -X-Content-Type-Options: nosniff -Date: Tue, 28 Nov 2023 12:49:13 GMT -Report-To: {"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=vBPSME6dCCR0uB6BtpQoxmGck36BNkbw%2FrKW1HdGJUMqb%2BUg2SDK2svgh8Ep9oouUPVRiv2wxThIeNRPuypD32GLZR%2BongLpjwLN1LLypMkr5dbRBzcYdBuQ5gKPT9s7dEx1K6fITxE%3D"}],"group":"cf-nel","max_age":604800} [{"id":12959095,"name":"bug","description":null,"description_html":"","text_color":"#FFFFFF","color":"#d9534f","subscribed":false,"priority":null,"is_project_label":true},{"id":12959097,"name":"confirmed","description":null,"description_html":"","text_color":"#FFFFFF","color":"#d9534f","subscribed":false,"priority":null,"is_project_label":true},{"id":12959096,"name":"critical","description":null,"description_html":"","text_color":"#FFFFFF","color":"#d9534f","subscribed":false,"priority":null,"is_project_label":true},{"id":12959100,"name":"discussion","description":null,"description_html":"","text_color":"#FFFFFF","color":"#428bca","subscribed":false,"priority":null,"is_project_label":true},{"id":12959098,"name":"documentation","description":null,"description_html":"","text_color":"#1F1E24","color":"#f0ad4e","subscribed":false,"priority":null,"is_project_label":true},{"id":12959554,"name":"duplicate","description":null,"description_html":"","text_color":"#FFFFFF","color":"#7F8C8D","subscribed":false,"priority":null,"is_project_label":true},{"id":12959102,"name":"enhancement","description":null,"description_html":"","text_color":"#FFFFFF","color":"#5cb85c","subscribed":false,"priority":null,"is_project_label":true},{"id":12959101,"name":"suggestion","description":null,"description_html":"","text_color":"#FFFFFF","color":"#428bca","subscribed":false,"priority":null,"is_project_label":true},{"id":12959099,"name":"support","description":null,"description_html":"","text_color":"#1F1E24","color":"#f0ad4e","subscribed":false,"priority":null,"is_project_label":true}] \ No newline at end of file diff --git a/services/migrations/testdata/gitlab/full_download/_api_v4_projects_15578026_merge_requests?page=1&per_page=1&view=simple b/services/migrations/testdata/gitlab/full_download/_api_v4_projects_15578026_merge_requests?page=1&per_page=1&view=simple index 1000cadda1..7eec1ca917 100644 --- a/services/migrations/testdata/gitlab/full_download/_api_v4_projects_15578026_merge_requests?page=1&per_page=1&view=simple +++ b/services/migrations/testdata/gitlab/full_download/_api_v4_projects_15578026_merge_requests?page=1&per_page=1&view=simple @@ -1,30 +1,29 @@ -X-Page: 1 -X-Runtime: 0.080106 -Cf-Cache-Status: MISS Content-Type: application/json -Etag: W/"14f72c1f555b0e6348d338190e9e4839" -Vary: Origin, Accept-Encoding -X-Frame-Options: SAMEORIGIN +X-Page: 1 Link: ; rel="next", ; rel="first", ; rel="last" +Vary: Origin, Accept-Encoding +X-Runtime: 0.139912 +X-Gitlab-Meta: {"correlation_id":"002c20b78ace441f5585931fed7093ed","version":"1"} +Gitlab-Sv: localhost +Cache-Control: max-age=0, private, must-revalidate +X-Total: 2 +X-Total-Pages: 2 +Ratelimit-Observed: 16 +Ratelimit-Limit: 2000 +X-Content-Type-Options: nosniff +Ratelimit-Remaining: 1984 +Set-Cookie: _cfuvid=6nsOEFMJm7NgrvYZAMGwiJBdm5A5CU71S33zOdN8Kyo-1701333889768-0-604800000; path=/; domain=.gitlab.com; HttpOnly; Secure; SameSite=None X-Per-Page: 1 X-Prev-Page: -X-Total-Pages: 2 -Gitlab-Lb: haproxy-main-34-lb-gprd -Nel: {"success_fraction":0.01,"report_to":"cf-nel","max_age":604800} -X-Next-Page: 2 -Cache-Control: max-age=0, private, must-revalidate -X-Gitlab-Meta: {"correlation_id":"c2b2e764848cdb6ecf4d8a7d7c922688","version":"1"} -Gitlab-Sv: api-gke-us-east1-c -Server: cloudflare -Content-Security-Policy: default-src 'none' -Set-Cookie: _cfuvid=M3EZpj9mLuYTgMFWWmkkBGvWpVgZ61toE.mNUK37CMo-1701175757911-0-604800000; path=/; domain=.gitlab.com; HttpOnly; Secure; SameSite=None -Date: Tue, 28 Nov 2023 12:49:17 GMT -X-Content-Type-Options: nosniff -X-Request-Id: c2b2e764848cdb6ecf4d8a7d7c922688 -X-Total: 2 Strict-Transport-Security: max-age=31536000 +Ratelimit-Reset: 1701333949 +Gitlab-Lb: haproxy-main-09-lb-gprd +X-Next-Page: 2 +Cf-Cache-Status: MISS +Content-Security-Policy: default-src 'none' +Etag: W/"14f72c1f555b0e6348d338190e9e4839" +X-Frame-Options: SAMEORIGIN Referrer-Policy: strict-origin-when-cross-origin -Report-To: {"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=E1Jc0rth%2F2ypS8ir3R%2F4jcUkjOQ42zmaLRUbfdSeHVSKN%2B0F1ilpTeJnxPxgHEtezhKAfhP3unfGLgTyU26LAM45wY3Z%2BYsy9h4zFONERT2DZJ1OnIVBtUytMxGydtA1udhaKGg%2F3GI%3D"}],"group":"cf-nel","max_age":604800} -Cf-Ray: 82d2bae59c2b36e0-FRA +Ratelimit-Resettime: Thu, 30 Nov 2023 08:45:49 GMT [{"id":43524600,"iid":2,"project_id":15578026,"title":"Test branch","description":"do not merge this PR","state":"opened","created_at":"2019-11-28T15:56:54.104Z","updated_at":"2020-04-19T19:24:21.108Z","web_url":"https://gitlab.com/gitea/test_repo/-/merge_requests/2"}] \ No newline at end of file diff --git a/services/migrations/testdata/gitlab/full_download/_api_v4_projects_15578026_merge_requests_1_approvals b/services/migrations/testdata/gitlab/full_download/_api_v4_projects_15578026_merge_requests_1_approvals index d556ec570a..80df508bc3 100644 --- a/services/migrations/testdata/gitlab/full_download/_api_v4_projects_15578026_merge_requests_1_approvals +++ b/services/migrations/testdata/gitlab/full_download/_api_v4_projects_15578026_merge_requests_1_approvals @@ -1,23 +1,22 @@ -X-Request-Id: 39d7aa2a51e4d9f37a03e96b680351e0 -Cf-Cache-Status: MISS -Nel: {"success_fraction":0.01,"report_to":"cf-nel","max_age":604800} -Etag: W/"19aa54b7d4531bd5ab98282e0b772f20" -Vary: Origin, Accept-Encoding -Strict-Transport-Security: max-age=31536000 -Referrer-Policy: strict-origin-when-cross-origin -Set-Cookie: _cfuvid=XhF1L3bWZC2inu9yZkro76aF91u9GJJBnoqyOdufOyI-1701175759569-0-604800000; path=/; domain=.gitlab.com; HttpOnly; Secure; SameSite=None -X-Frame-Options: SAMEORIGIN -X-Gitlab-Meta: {"correlation_id":"39d7aa2a51e4d9f37a03e96b680351e0","version":"1"} -Cache-Control: max-age=0, private, must-revalidate -Gitlab-Lb: haproxy-main-45-lb-gprd -Gitlab-Sv: api-gke-us-east1-b -Server: cloudflare -Cf-Ray: 82d2baeeed7736e0-FRA -Date: Tue, 28 Nov 2023 12:49:19 GMT -Content-Type: application/json -X-Runtime: 0.255470 -Report-To: {"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=Gw2KB2oAUyBAoAywnQOt9gnd75FsNNUzAPhzeoPPOYadqEe5fRn1fO8HfI1Arzg%2FFCJlErmAPT1%2Fpru2pqknOR%2BWglTuwSXc4rqB6JMkVKr2clNqtc8bQtQWpYWPSzKk3ah%2BaNm0SeE%3D"}],"group":"cf-nel","max_age":604800} +Ratelimit-Resettime: Thu, 30 Nov 2023 08:45:51 GMT +Ratelimit-Limit: 2000 Content-Security-Policy: default-src 'none' +X-Gitlab-Meta: {"correlation_id":"0a1a7339f3527e175a537afe058a6ac7","version":"1"} +Ratelimit-Observed: 21 +Cache-Control: max-age=0, private, must-revalidate +Gitlab-Lb: haproxy-main-38-lb-gprd +X-Frame-Options: SAMEORIGIN +Strict-Transport-Security: max-age=31536000 +Cf-Cache-Status: MISS +Content-Type: application/json +Etag: W/"19aa54b7d4531bd5ab98282e0b772f20" X-Content-Type-Options: nosniff +Set-Cookie: _cfuvid=J2edW64FLja6v0MZCh5tVbLYO42.VvIsTqQ.uj1Gr_k-1701333891171-0-604800000; path=/; domain=.gitlab.com; HttpOnly; Secure; SameSite=None +Ratelimit-Reset: 1701333951 +Gitlab-Sv: localhost +Vary: Origin, Accept-Encoding +Ratelimit-Remaining: 1979 +X-Runtime: 0.155712 +Referrer-Policy: strict-origin-when-cross-origin {"id":43486906,"iid":1,"project_id":15578026,"title":"Update README.md","description":"add warning to readme","state":"merged","created_at":"2019-11-28T08:54:41.034Z","updated_at":"2019-11-28T16:02:08.377Z","merge_status":"can_be_merged","approved":true,"approvals_required":0,"approvals_left":0,"require_password_to_approve":false,"approved_by":[{"user":{"id":527793,"username":"axifive","name":"Alexey Terentyev","state":"active","locked":false,"avatar_url":"https://secure.gravatar.com/avatar/06683cd6b2e2c2ce0ab00fb80cc0729f?s=80\u0026d=identicon","web_url":"https://gitlab.com/axifive"}},{"user":{"id":4102996,"username":"zeripath","name":"zeripath","state":"active","locked":false,"avatar_url":"https://secure.gravatar.com/avatar/1ae18535c2b1aed798da090448997248?s=80\u0026d=identicon","web_url":"https://gitlab.com/zeripath"}}],"suggested_approvers":[],"approvers":[],"approver_groups":[],"user_has_approved":false,"user_can_approve":false,"approval_rules_left":[],"has_approval_rules":true,"merge_request_approvers_available":false,"multiple_approval_rules_available":false,"invalid_approvers_rules":[]} \ No newline at end of file diff --git a/services/migrations/testdata/gitlab/full_download/_api_v4_projects_15578026_merge_requests_2 b/services/migrations/testdata/gitlab/full_download/_api_v4_projects_15578026_merge_requests_2 index 40f5c5f28c..7119342f6c 100644 --- a/services/migrations/testdata/gitlab/full_download/_api_v4_projects_15578026_merge_requests_2 +++ b/services/migrations/testdata/gitlab/full_download/_api_v4_projects_15578026_merge_requests_2 @@ -1,23 +1,22 @@ -X-Frame-Options: SAMEORIGIN -X-Request-Id: f0766496f6471b5094feef229598e805 -Gitlab-Sv: api-gke-us-east1-d -Cache-Control: max-age=0, private, must-revalidate -X-Runtime: 0.231575 -Referrer-Policy: strict-origin-when-cross-origin -Set-Cookie: _cfuvid=nPK.Xwtzg2kzeRs.DjmoL3AN1KK0agwAL7PMtFvwWW4-1701175758289-0-604800000; path=/; domain=.gitlab.com; HttpOnly; Secure; SameSite=None -Server: cloudflare -Nel: {"success_fraction":0.01,"report_to":"cf-nel","max_age":604800} -Cf-Ray: 82d2bae71d9936e0-FRA -Content-Security-Policy: default-src 'none' -X-Gitlab-Meta: {"correlation_id":"f0766496f6471b5094feef229598e805","version":"1"} -Gitlab-Lb: haproxy-main-14-lb-gprd -Cf-Cache-Status: MISS -Report-To: {"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=YpHQHD49AjdP6A0Ulak9dKotai6JsP7dBztPbxSg1Lf9bA6HmwzSYhC1PU39cGVaAC6B6%2FIJOLNYKBCzWLM%2BSipooPRkP9xvrC5C3rG%2BoMljYnojsOVO%2FRLTavJ%2B0NbBAPsBBMQbWLQ%3D"}],"group":"cf-nel","max_age":604800} -Strict-Transport-Security: max-age=31536000 -Date: Tue, 28 Nov 2023 12:49:18 GMT -Content-Type: application/json Etag: W/"914149155d75f8d8f7ed2e5351f0fadb" -Vary: Origin, Accept-Encoding +X-Runtime: 0.234286 +Ratelimit-Remaining: 1983 +Strict-Transport-Security: max-age=31536000 +Referrer-Policy: strict-origin-when-cross-origin +Gitlab-Sv: localhost +Set-Cookie: _cfuvid=aYLZ68TRL8gsnraUk.zZIxRvuv981nIhZNIO9vVpgbU-1701333890175-0-604800000; path=/; domain=.gitlab.com; HttpOnly; Secure; SameSite=None X-Content-Type-Options: nosniff +X-Frame-Options: SAMEORIGIN +Ratelimit-Observed: 17 +Content-Type: application/json +Cache-Control: max-age=0, private, must-revalidate +Ratelimit-Resettime: Thu, 30 Nov 2023 08:45:50 GMT +Ratelimit-Limit: 2000 +Vary: Origin, Accept-Encoding +Content-Security-Policy: default-src 'none' +Gitlab-Lb: haproxy-main-33-lb-gprd +Cf-Cache-Status: MISS +Ratelimit-Reset: 1701333950 +X-Gitlab-Meta: {"correlation_id":"10d576ab8e82b745b7202a6daec3c5e1","version":"1"} {"id":43524600,"iid":2,"project_id":15578026,"title":"Test branch","description":"do not merge this PR","state":"opened","created_at":"2019-11-28T15:56:54.104Z","updated_at":"2020-04-19T19:24:21.108Z","merged_by":null,"merge_user":null,"merged_at":null,"closed_by":null,"closed_at":null,"target_branch":"master","source_branch":"feat/test","user_notes_count":0,"upvotes":1,"downvotes":0,"author":{"id":1241334,"username":"lafriks","name":"Lauris BH","state":"active","locked":false,"avatar_url":"https://gitlab.com/uploads/-/system/user/avatar/1241334/avatar.png","web_url":"https://gitlab.com/lafriks"},"assignees":[],"assignee":null,"reviewers":[],"source_project_id":15578026,"target_project_id":15578026,"labels":["bug"],"draft":false,"work_in_progress":false,"milestone":{"id":1082926,"iid":1,"project_id":15578026,"title":"1.0.0","description":"","state":"closed","created_at":"2019-11-28T08:42:30.301Z","updated_at":"2019-11-28T15:57:52.401Z","due_date":null,"start_date":null,"expired":false,"web_url":"https://gitlab.com/gitea/test_repo/-/milestones/1"},"merge_when_pipeline_succeeds":false,"merge_status":"can_be_merged","detailed_merge_status":"mergeable","sha":"9f733b96b98a4175276edf6a2e1231489c3bdd23","merge_commit_sha":null,"squash_commit_sha":null,"discussion_locked":null,"should_remove_source_branch":null,"force_remove_source_branch":true,"prepared_at":"2019-11-28T15:56:54.104Z","reference":"!2","references":{"short":"!2","relative":"!2","full":"gitea/test_repo!2"},"web_url":"https://gitlab.com/gitea/test_repo/-/merge_requests/2","time_stats":{"time_estimate":0,"total_time_spent":0,"human_time_estimate":null,"human_total_time_spent":null},"squash":true,"squash_on_merge":true,"task_completion_status":{"count":0,"completed_count":0},"has_conflicts":false,"blocking_discussions_resolved":true,"approvals_before_merge":null,"subscribed":false,"changes_count":"1","latest_build_started_at":null,"latest_build_finished_at":null,"first_deployed_to_production_at":null,"pipeline":null,"head_pipeline":null,"diff_refs":{"base_sha":"c59c9b451acca9d106cc19d61d87afe3fbbb8b83","head_sha":"9f733b96b98a4175276edf6a2e1231489c3bdd23","start_sha":"c59c9b451acca9d106cc19d61d87afe3fbbb8b83"},"merge_error":null,"first_contribution":false,"user":{"can_merge":false}} \ No newline at end of file diff --git a/services/migrations/testdata/gitlab/full_download/_api_v4_projects_15578026_merge_requests_2_approvals b/services/migrations/testdata/gitlab/full_download/_api_v4_projects_15578026_merge_requests_2_approvals index d07d508ba3..02a1deae29 100644 --- a/services/migrations/testdata/gitlab/full_download/_api_v4_projects_15578026_merge_requests_2_approvals +++ b/services/migrations/testdata/gitlab/full_download/_api_v4_projects_15578026_merge_requests_2_approvals @@ -1,23 +1,22 @@ Vary: Origin, Accept-Encoding -X-Gitlab-Meta: {"correlation_id":"814f11429b2b91f72eeb08165ab2349c","version":"1"} -Strict-Transport-Security: max-age=31536000 -Cf-Cache-Status: MISS -Cf-Ray: 82d2baf16fcb36e0-FRA -Cache-Control: max-age=0, private, must-revalidate -X-Request-Id: 814f11429b2b91f72eeb08165ab2349c -X-Runtime: 0.222724 -Gitlab-Sv: api-gke-us-east1-c -Server: cloudflare +Ratelimit-Remaining: 1978 +Gitlab-Lb: haproxy-main-04-lb-gprd +Set-Cookie: _cfuvid=cKUtcpJODQwk9SDRn91k1DY8CY5Tg238DXGgT0a2go0-1701333891493-0-604800000; path=/; domain=.gitlab.com; HttpOnly; Secure; SameSite=None Content-Type: application/json -Content-Security-Policy: default-src 'none' +Cf-Cache-Status: MISS Etag: W/"ce2f774c1b05c5c8a14ec9274444cba3" -Nel: {"success_fraction":0.01,"report_to":"cf-nel","max_age":604800} -Set-Cookie: _cfuvid=0F0t7Ona1H1_aeSqd5RbpJy.UPCAuw_8RTwbzS5JFDs-1701175759949-0-604800000; path=/; domain=.gitlab.com; HttpOnly; Secure; SameSite=None -Date: Tue, 28 Nov 2023 12:49:19 GMT +Ratelimit-Limit: 2000 X-Content-Type-Options: nosniff -X-Frame-Options: SAMEORIGIN +Cache-Control: max-age=0, private, must-revalidate +X-Gitlab-Meta: {"correlation_id":"98ee1da556bdb3d764679ebab9ab5312","version":"1"} Referrer-Policy: strict-origin-when-cross-origin -Gitlab-Lb: haproxy-main-28-lb-gprd -Report-To: {"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=fKmiF%2B4ysmvyUtD1riYc7vhKs%2FhANqYGs7as1gnUhnpj3Av%2BDBMUozQGl8aRk2e5ygs5qR5Fe%2BXaQM%2BhigKFFYKwhxCbFgGGR1ep58ZIq%2FgQjNbq7SG%2Bc0RuIsq1Hj1R1rXLPavhlHw%3D"}],"group":"cf-nel","max_age":604800} +X-Frame-Options: SAMEORIGIN +Gitlab-Sv: localhost +Content-Security-Policy: default-src 'none' +X-Runtime: 0.165471 +Strict-Transport-Security: max-age=31536000 +Ratelimit-Observed: 22 +Ratelimit-Reset: 1701333951 +Ratelimit-Resettime: Thu, 30 Nov 2023 08:45:51 GMT {"id":43524600,"iid":2,"project_id":15578026,"title":"Test branch","description":"do not merge this PR","state":"opened","created_at":"2019-11-28T15:56:54.104Z","updated_at":"2020-04-19T19:24:21.108Z","merge_status":"can_be_merged","approved":true,"approvals_required":0,"approvals_left":0,"require_password_to_approve":false,"approved_by":[{"user":{"id":4575606,"username":"real6543","name":"6543","state":"active","locked":false,"avatar_url":"https://gitlab.com/uploads/-/system/user/avatar/4575606/avatar.png","web_url":"https://gitlab.com/real6543"}}],"suggested_approvers":[],"approvers":[],"approver_groups":[{"group":{"id":3181312,"web_url":"https://gitlab.com/groups/gitea","name":"gitea","path":"gitea","description":"Mirror of Gitea source code repositories","visibility":"public","share_with_group_lock":false,"require_two_factor_authentication":false,"two_factor_grace_period":48,"project_creation_level":"maintainer","auto_devops_enabled":null,"subgroup_creation_level":"owner","emails_disabled":false,"emails_enabled":true,"mentions_disabled":null,"lfs_enabled":true,"default_branch_protection":2,"default_branch_protection_defaults":{"allowed_to_push":[{"access_level":30}],"allow_force_push":true,"allowed_to_merge":[{"access_level":30}]},"avatar_url":"https://gitlab.com/uploads/-/system/group/avatar/3181312/gitea.png","request_access_enabled":true,"full_name":"gitea","full_path":"gitea","created_at":"2018-07-04T16:32:10.176Z","parent_id":null,"shared_runners_setting":"enabled","ldap_cn":null,"ldap_access":null,"wiki_access_level":"enabled"}}],"user_has_approved":false,"user_can_approve":false,"approval_rules_left":[],"has_approval_rules":true,"merge_request_approvers_available":false,"multiple_approval_rules_available":false,"invalid_approvers_rules":[]} \ No newline at end of file diff --git a/services/migrations/testdata/gitlab/full_download/_api_v4_projects_15578026_merge_requests_2_award_emoji?page=1&per_page=1 b/services/migrations/testdata/gitlab/full_download/_api_v4_projects_15578026_merge_requests_2_award_emoji?page=1&per_page=1 index 01a9cf604f..aab7a74df8 100644 --- a/services/migrations/testdata/gitlab/full_download/_api_v4_projects_15578026_merge_requests_2_award_emoji?page=1&per_page=1 +++ b/services/migrations/testdata/gitlab/full_download/_api_v4_projects_15578026_merge_requests_2_award_emoji?page=1&per_page=1 @@ -1,30 +1,29 @@ -Content-Type: application/json -X-Content-Type-Options: nosniff -Cf-Cache-Status: MISS -Link: ; rel="next", ; rel="first", ; rel="last" -X-Total: 2 -Cf-Ray: 82d2bae97fef36e0-FRA -X-Gitlab-Meta: {"correlation_id":"a03d58b947b8fc6eaa1f702a4da99cb8","version":"1"} -X-Per-Page: 1 -Strict-Transport-Security: max-age=31536000 -Referrer-Policy: strict-origin-when-cross-origin -Nel: {"success_fraction":0.01,"report_to":"cf-nel","max_age":604800} -X-Frame-Options: SAMEORIGIN -Server: cloudflare -Set-Cookie: _cfuvid=Y1.tZj_8_Ypf7nCIz3MuECuo4mMp2XGQH3QUuYMsf50-1701175758616-0-604800000; path=/; domain=.gitlab.com; HttpOnly; Secure; SameSite=None -Etag: W/"798718b23a2ec66b16cce20cb7155116" -Vary: Origin, Accept-Encoding -X-Page: 1 X-Prev-Page: -X-Runtime: 0.147890 -Report-To: {"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=%2BvzfARP%2F9AEt96t12WX5y2oM%2B%2B7FroI2hLNRG1pNVzCcie35th7z04cfqSJGe4FKKz1BYV5JGqY83AbCnKS%2BHq5IGFKUhI2DQokiIm%2Fi4pRQnXNBOAVgdbuJD5NT%2FuzgLNROkq7inQo%3D"}],"group":"cf-nel","max_age":604800} -X-Next-Page: 2 -X-Total-Pages: 2 -Gitlab-Lb: haproxy-main-19-lb-gprd -Date: Tue, 28 Nov 2023 12:49:18 GMT +X-Runtime: 0.066211 +Strict-Transport-Security: max-age=31536000 Content-Security-Policy: default-src 'none' -Gitlab-Sv: api-gke-us-east1-c +X-Per-Page: 1 +X-Total: 2 +Ratelimit-Reset: 1701333950 +Ratelimit-Limit: 2000 +Cf-Cache-Status: MISS +X-Content-Type-Options: nosniff +X-Gitlab-Meta: {"correlation_id":"d0f8c843558e938161d7307b686f1cd9","version":"1"} +Gitlab-Sv: localhost +Set-Cookie: _cfuvid=WFMplweUX3zWl6uoteYRHeDcpElbTNYhWrIBbNEVC3A-1701333890399-0-604800000; path=/; domain=.gitlab.com; HttpOnly; Secure; SameSite=None +Content-Type: application/json +X-Total-Pages: 2 +Etag: W/"798718b23a2ec66b16cce20cb7155116" +X-Next-Page: 2 +Link: ; rel="next", ; rel="first", ; rel="last" +Vary: Origin, Accept-Encoding +Ratelimit-Observed: 18 +Ratelimit-Resettime: Thu, 30 Nov 2023 08:45:50 GMT +X-Frame-Options: SAMEORIGIN +Referrer-Policy: strict-origin-when-cross-origin +Ratelimit-Remaining: 1982 +Gitlab-Lb: haproxy-main-31-lb-gprd Cache-Control: max-age=0, private, must-revalidate -X-Request-Id: a03d58b947b8fc6eaa1f702a4da99cb8 +X-Page: 1 [{"id":5541414,"name":"thumbsup","user":{"id":4575606,"username":"real6543","name":"6543","state":"active","locked":false,"avatar_url":"https://gitlab.com/uploads/-/system/user/avatar/4575606/avatar.png","web_url":"https://gitlab.com/real6543"},"created_at":"2020-09-02T23:42:34.310Z","updated_at":"2020-09-02T23:42:34.310Z","awardable_id":43524600,"awardable_type":"MergeRequest","url":null}] \ No newline at end of file diff --git a/services/migrations/testdata/gitlab/full_download/_api_v4_projects_15578026_merge_requests_2_award_emoji?page=2&per_page=1 b/services/migrations/testdata/gitlab/full_download/_api_v4_projects_15578026_merge_requests_2_award_emoji?page=2&per_page=1 index f9b9a6cbdd..5d85a567e8 100644 --- a/services/migrations/testdata/gitlab/full_download/_api_v4_projects_15578026_merge_requests_2_award_emoji?page=2&per_page=1 +++ b/services/migrations/testdata/gitlab/full_download/_api_v4_projects_15578026_merge_requests_2_award_emoji?page=2&per_page=1 @@ -1,30 +1,29 @@ -Date: Tue, 28 Nov 2023 12:49:18 GMT -X-Page: 2 -X-Prev-Page: 1 -Report-To: {"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=MoRRmJLqv7AdPRfOKxbzB0Mr4KHlwQvL5%2Bn9Kb7SZHKf6sXHkKh7Wiv8pEcbtjzLg64Z7NR%2F1mfJDQ0MOGArqDb3JxzuvTO8T4GqEE36y8ZUalRlJanhHXdDFbr5XBDtj5aP26gnHBc%3D"}],"group":"cf-nel","max_age":604800} -Server: cloudflare -Content-Security-Policy: default-src 'none' -Vary: Origin, Accept-Encoding -X-Total-Pages: 2 -X-Next-Page: -X-Request-Id: ad42ea570b4ae89a252ffbc8549e1bb9 -Cf-Ray: 82d2baeb8a0836e0-FRA -Content-Type: application/json -Link: ; rel="prev", ; rel="first", ; rel="last" -X-Content-Type-Options: nosniff -X-Frame-Options: SAMEORIGIN -X-Gitlab-Meta: {"correlation_id":"ad42ea570b4ae89a252ffbc8549e1bb9","version":"1"} -Gitlab-Sv: api-gke-us-east1-c -Nel: {"success_fraction":0.01,"report_to":"cf-nel","max_age":604800} -Etag: W/"e6776aaa57e6a81bf8a2d8823272cc70" -Strict-Transport-Security: max-age=31536000 Cf-Cache-Status: MISS -Set-Cookie: _cfuvid=a1ruFsVJA3A69TvmmItKeOsOTtls1DsSwOsZnIz9rD8-1701175758922-0-604800000; path=/; domain=.gitlab.com; HttpOnly; Secure; SameSite=None -X-Per-Page: 1 +Etag: W/"e6776aaa57e6a81bf8a2d8823272cc70" +X-Frame-Options: SAMEORIGIN +X-Gitlab-Meta: {"correlation_id":"db01aae11b0cf7febcf051706159faae","version":"1"} +X-Total-Pages: 2 +Strict-Transport-Security: max-age=31536000 +Gitlab-Lb: haproxy-main-51-lb-gprd X-Total: 2 Referrer-Policy: strict-origin-when-cross-origin +Ratelimit-Limit: 2000 Cache-Control: max-age=0, private, must-revalidate -X-Runtime: 0.151691 -Gitlab-Lb: haproxy-main-07-lb-gprd +X-Next-Page: +Set-Cookie: _cfuvid=X0n26HdiufQTXsshb4pvCyuf0jDSstPZ8GnIiyx57YU-1701333890628-0-604800000; path=/; domain=.gitlab.com; HttpOnly; Secure; SameSite=None +Link: ; rel="prev", ; rel="first", ; rel="last" +Ratelimit-Observed: 19 +Ratelimit-Reset: 1701333950 +Content-Type: application/json +Vary: Origin, Accept-Encoding +X-Per-Page: 1 +X-Runtime: 0.067511 +Gitlab-Sv: localhost +X-Prev-Page: 1 +Ratelimit-Remaining: 1981 +Ratelimit-Resettime: Thu, 30 Nov 2023 08:45:50 GMT +Content-Security-Policy: default-src 'none' +X-Content-Type-Options: nosniff +X-Page: 2 [{"id":5541415,"name":"tada","user":{"id":4575606,"username":"real6543","name":"6543","state":"active","locked":false,"avatar_url":"https://gitlab.com/uploads/-/system/user/avatar/4575606/avatar.png","web_url":"https://gitlab.com/real6543"},"created_at":"2020-09-02T23:42:59.060Z","updated_at":"2020-09-02T23:42:59.060Z","awardable_id":43524600,"awardable_type":"MergeRequest","url":null}] \ No newline at end of file diff --git a/services/migrations/testdata/gitlab/full_download/_api_v4_projects_15578026_merge_requests_2_award_emoji?page=3&per_page=1 b/services/migrations/testdata/gitlab/full_download/_api_v4_projects_15578026_merge_requests_2_award_emoji?page=3&per_page=1 index 9166cb8ccb..aa5a50e45b 100644 --- a/services/migrations/testdata/gitlab/full_download/_api_v4_projects_15578026_merge_requests_2_award_emoji?page=3&per_page=1 +++ b/services/migrations/testdata/gitlab/full_download/_api_v4_projects_15578026_merge_requests_2_award_emoji?page=3&per_page=1 @@ -1,32 +1,31 @@ -Set-Cookie: _cfuvid=Kdqgfjzfy0DbIhYqXh_7uBzUHX9Jv0pPisJFLQXIrVg-1701175759167-0-604800000; path=/; domain=.gitlab.com; HttpOnly; Secure; SameSite=None -Content-Security-Policy: default-src 'none' -X-Gitlab-Meta: {"correlation_id":"5f864445eae9bc04ffe7ed09402cca0c","version":"1"} -X-Per-Page: 1 -Accept-Ranges: bytes -Report-To: {"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=zGsr%2BOFk2NbQGZlTUyA7C9HA8iLUvecAlrACaCR%2BhodJsskFtUYZRGQ6a2u9%2FTm8L0wv4ZhHGaD4jbGIBJTyjEmLpOEwmxY%2Bv9C%2BOR6cehuRfI%2Bbn1lWaBquuotpnRzVPvPRcDAzTnI%3D"}],"group":"cf-nel","max_age":604800} -Nel: {"success_fraction":0.01,"report_to":"cf-nel","max_age":604800} -Vary: Origin, Accept-Encoding -X-Content-Type-Options: nosniff -Referrer-Policy: strict-origin-when-cross-origin -Cf-Cache-Status: MISS -Link: ; rel="first", ; rel="last" -X-Frame-Options: SAMEORIGIN -X-Total-Pages: 2 -Date: Tue, 28 Nov 2023 12:49:19 GMT -Cache-Control: max-age=0, private, must-revalidate -Strict-Transport-Security: max-age=31536000 -Content-Length: 2 -X-Total: 2 -Server: cloudflare -Cf-Ray: 82d2baed6c0236e0-FRA -Content-Type: application/json -Etag: W/"4f53cda18c2baa0c0354bb5f9a3ecbe5" -X-Next-Page: -Gitlab-Lb: haproxy-main-34-lb-gprd X-Page: 3 +Strict-Transport-Security: max-age=31536000 +Accept-Ranges: bytes +Set-Cookie: _cfuvid=CBSpRhUuajZbJ9Mc_r7SkVmZawoSi5ofuts2TGyHgRk-1701333890842-0-604800000; path=/; domain=.gitlab.com; HttpOnly; Secure; SameSite=None +Cache-Control: max-age=0, private, must-revalidate X-Prev-Page: -X-Request-Id: 5f864445eae9bc04ffe7ed09402cca0c -X-Runtime: 0.092640 -Gitlab-Sv: api-gke-us-east1-c +X-Total-Pages: 2 +Ratelimit-Reset: 1701333950 +Gitlab-Sv: localhost +X-Content-Type-Options: nosniff +Ratelimit-Resettime: Thu, 30 Nov 2023 08:45:50 GMT +Gitlab-Lb: haproxy-main-05-lb-gprd +Etag: W/"4f53cda18c2baa0c0354bb5f9a3ecbe5" +Vary: Origin, Accept-Encoding +X-Frame-Options: SAMEORIGIN +X-Gitlab-Meta: {"correlation_id":"36817edd7cae21d5d6b875faf173ce80","version":"1"} +X-Per-Page: 1 +X-Total: 2 +Referrer-Policy: strict-origin-when-cross-origin +Content-Security-Policy: default-src 'none' +Link: ; rel="first", ; rel="last" +X-Next-Page: +X-Runtime: 0.061075 +Ratelimit-Limit: 2000 +Ratelimit-Observed: 20 +Cf-Cache-Status: MISS +Content-Type: application/json +Content-Length: 2 +Ratelimit-Remaining: 1980 [] \ No newline at end of file diff --git a/services/migrations/testdata/gitlab/full_download/_api_v4_projects_15578026_milestones?page=1&per_page=100&state=all b/services/migrations/testdata/gitlab/full_download/_api_v4_projects_15578026_milestones?page=1&per_page=100&state=all index 1f35cf4806..78310e123d 100644 --- a/services/migrations/testdata/gitlab/full_download/_api_v4_projects_15578026_milestones?page=1&per_page=100&state=all +++ b/services/migrations/testdata/gitlab/full_download/_api_v4_projects_15578026_milestones?page=1&per_page=100&state=all @@ -1,30 +1,29 @@ -Cache-Control: max-age=0, private, must-revalidate -Cf-Ray: 82d2bac82d2d36e0-FRA -X-Request-Id: 06597dd0fd8d77bd6e3876f985a4f847 -X-Total: 2 -Referrer-Policy: strict-origin-when-cross-origin -Nel: {"success_fraction":0.01,"report_to":"cf-nel","max_age":604800} -X-Next-Page: -Set-Cookie: _cfuvid=DJncZbrWf4Pj5gJ6t20ry9vG7xD9rEkKh0Xc5MepOic-1701175753285-0-604800000; path=/; domain=.gitlab.com; HttpOnly; Secure; SameSite=None -X-Per-Page: 100 -Gitlab-Sv: api-gke-us-east1-b -Cf-Cache-Status: MISS X-Content-Type-Options: nosniff -X-Runtime: 0.175518 -Server: cloudflare -Content-Type: application/json -Link: ; rel="first", ; rel="last" -X-Gitlab-Meta: {"correlation_id":"06597dd0fd8d77bd6e3876f985a4f847","version":"1"} -X-Page: 1 -Strict-Transport-Security: max-age=31536000 -Gitlab-Lb: haproxy-main-21-lb-gprd -Date: Tue, 28 Nov 2023 12:49:13 GMT -Content-Security-Policy: default-src 'none' -Vary: Origin, Accept-Encoding +X-Next-Page: +Ratelimit-Observed: 5 X-Frame-Options: SAMEORIGIN -X-Prev-Page: +X-Per-Page: 100 +Ratelimit-Limit: 2000 +Cf-Cache-Status: MISS +Strict-Transport-Security: max-age=31536000 +Referrer-Policy: strict-origin-when-cross-origin +Ratelimit-Resettime: Thu, 30 Nov 2023 08:45:46 GMT +Content-Security-Policy: default-src 'none' +Link: ; rel="first", ; rel="last" +X-Gitlab-Meta: {"correlation_id":"4f72373995f8681ce127c62d384745a3","version":"1"} +Gitlab-Sv: localhost +X-Runtime: 0.073691 +Ratelimit-Remaining: 1995 +Ratelimit-Reset: 1701333946 +Content-Type: application/json Etag: W/"c8e2d3a5f05ee29c58b665c86684f9f9" +X-Page: 1 +Gitlab-Lb: haproxy-main-47-lb-gprd +Vary: Origin, Accept-Encoding +X-Prev-Page: +X-Total: 2 +Cache-Control: max-age=0, private, must-revalidate X-Total-Pages: 1 -Report-To: {"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=Hcs6%2BZ%2BCvPTYwKVmytWNkDQViuU9NMqNg5p1%2Fu7fAnVHqMcfKleFoBeF0%2B9P0%2Fv%2B7AJYmGBYX133zwHkYq0ZpiffQTHXsN%2F5DwMpcbSZ%2BTUwJtQW6HNDWetWrsid027TzuBpO4XA%2FkM%3D"}],"group":"cf-nel","max_age":604800} +Set-Cookie: _cfuvid=ZfjvK5rh2nTUjEDt1Guwzd8zrl6uCDplfE8NBPbdJ7c-1701333886832-0-604800000; path=/; domain=.gitlab.com; HttpOnly; Secure; SameSite=None [{"id":1082927,"iid":2,"project_id":15578026,"title":"1.1.0","description":"","state":"active","created_at":"2019-11-28T08:42:44.575Z","updated_at":"2019-11-28T08:42:44.575Z","due_date":null,"start_date":null,"expired":false,"web_url":"https://gitlab.com/gitea/test_repo/-/milestones/2"},{"id":1082926,"iid":1,"project_id":15578026,"title":"1.0.0","description":"","state":"closed","created_at":"2019-11-28T08:42:30.301Z","updated_at":"2019-11-28T15:57:52.401Z","due_date":null,"start_date":null,"expired":false,"web_url":"https://gitlab.com/gitea/test_repo/-/milestones/1"}] \ No newline at end of file diff --git a/services/migrations/testdata/gitlab/full_download/_api_v4_projects_15578026_releases?page=1&per_page=100 b/services/migrations/testdata/gitlab/full_download/_api_v4_projects_15578026_releases?page=1&per_page=100 index 853ef22863..9be0b74729 100644 --- a/services/migrations/testdata/gitlab/full_download/_api_v4_projects_15578026_releases?page=1&per_page=100 +++ b/services/migrations/testdata/gitlab/full_download/_api_v4_projects_15578026_releases?page=1&per_page=100 @@ -1,30 +1,29 @@ -Referrer-Policy: strict-origin-when-cross-origin -Content-Security-Policy: default-src 'none' -Etag: W/"5440b41f88cf08eff25ed0f01b672b6c" -X-Next-Page: -X-Total: 1 -Link: ; rel="first", ; rel="last" -Report-To: {"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=btZ1m94fXWqfBgsZQR%2FOZ0DQyIKl3Z%2FsE4BqWylbeVfH90wqFEHh0ppa7qoqWjvrYLU4NXSXIKRzKSqQWwlo%2BsWY8uA%2F50yds8tQKf%2BQZGls66SdyHN6PDz3mpnUvQuqq%2F1Q8xURUEI%3D"}],"group":"cf-nel","max_age":604800} -Nel: {"success_fraction":0.01,"report_to":"cf-nel","max_age":604800} -X-Content-Type-Options: nosniff -X-Per-Page: 100 -X-Request-Id: 7f7348d2dbae86671a1696b37412e15a -Set-Cookie: _cfuvid=xIo7QFSlYPXO7zvrYz0Zx_952rFkLYu7YM7OxFu15M0-1701175754703-0-604800000; path=/; domain=.gitlab.com; HttpOnly; Secure; SameSite=None -Content-Type: application/json -X-Page: 1 -X-Total-Pages: 1 -Cf-Ray: 82d2bacc49c036e0-FRA -Cache-Control: max-age=0, private, must-revalidate -X-Frame-Options: SAMEORIGIN -Server: cloudflare -X-Prev-Page: -Cf-Cache-Status: MISS -Date: Tue, 28 Nov 2023 12:49:14 GMT -Vary: Origin, Accept-Encoding -X-Gitlab-Meta: {"correlation_id":"7f7348d2dbae86671a1696b37412e15a","version":"1"} -X-Runtime: 0.803723 Strict-Transport-Security: max-age=31536000 -Gitlab-Lb: haproxy-main-09-lb-gprd -Gitlab-Sv: api-gke-us-east1-b +Referrer-Policy: strict-origin-when-cross-origin +Ratelimit-Reset: 1701333947 +X-Total: 1 +Ratelimit-Resettime: Thu, 30 Nov 2023 08:45:47 GMT +Ratelimit-Limit: 2000 +X-Runtime: 0.178411 +Gitlab-Lb: haproxy-main-15-lb-gprd +Vary: Origin, Accept-Encoding +X-Page: 1 +X-Frame-Options: SAMEORIGIN +Ratelimit-Observed: 7 +Cf-Cache-Status: MISS +Etag: W/"dccc7159dc4b46989d13128a7d6ee859" +X-Content-Type-Options: nosniff +Ratelimit-Remaining: 1993 +X-Gitlab-Meta: {"correlation_id":"0044a3de3ede2f913cabe6e464dd73c2","version":"1"} +X-Total-Pages: 1 +X-Next-Page: +X-Per-Page: 100 +Content-Type: application/json +Content-Security-Policy: default-src 'none' +Set-Cookie: _cfuvid=h1ayMNs6W_kFPoFe28IpiaFUz1ZAPvY6npUWxARRx4I-1701333887452-0-604800000; path=/; domain=.gitlab.com; HttpOnly; Secure; SameSite=None +Link: ; rel="first", ; rel="last" +Gitlab-Sv: localhost +Cache-Control: max-age=0, private, must-revalidate +X-Prev-Page: -[{"name":"First Release","tag_name":"v0.9.99","description":"A test release","created_at":"2019-11-28T09:09:48.840Z","released_at":"2019-11-28T09:09:48.836Z","upcoming_release":false,"author":{"id":1241334,"username":"lafriks","name":"Lauris BH","state":"active","locked":false,"avatar_url":"https://gitlab.com/uploads/-/system/user/avatar/1241334/avatar.png","web_url":"https://gitlab.com/lafriks"},"commit":{"id":"0720a3ec57c1f843568298117b874319e7deee75","short_id":"0720a3ec","created_at":"2019-11-28T08:49:16.000+00:00","parent_ids":["93ea21ce45d35690c35e80961d239645139e872c"],"title":"Add new file","message":"Add new file","author_name":"Lauris BH","author_email":"lauris@nix.lv","authored_date":"2019-11-28T08:49:16.000+00:00","committer_name":"Lauris BH","committer_email":"lauris@nix.lv","committed_date":"2019-11-28T08:49:16.000+00:00","trailers":{},"web_url":"https://gitlab.com/gitea/test_repo/-/commit/0720a3ec57c1f843568298117b874319e7deee75"},"commit_path":"/gitea/test_repo/-/commit/0720a3ec57c1f843568298117b874319e7deee75","tag_path":"/gitea/test_repo/-/tags/v0.9.99","assets":{"count":4,"sources":[{"format":"zip","url":"https://gitlab.com/gitea/test_repo/-/archive/v0.9.99/test_repo-v0.9.99.zip"},{"format":"tar.gz","url":"https://gitlab.com/gitea/test_repo/-/archive/v0.9.99/test_repo-v0.9.99.tar.gz"},{"format":"tar.bz2","url":"https://gitlab.com/gitea/test_repo/-/archive/v0.9.99/test_repo-v0.9.99.tar.bz2"},{"format":"tar","url":"https://gitlab.com/gitea/test_repo/-/archive/v0.9.99/test_repo-v0.9.99.tar"}],"links":[]},"evidences":[{"sha":"89f1223473ee01f192a83d0cb89f4d1eac1de74f01ad","filepath":"https://gitlab.com/gitea/test_repo/-/releases/v0.9.99/evidences/52147.json","collected_at":"2019-11-28T09:09:48.888Z"}],"_links":{"closed_issues_url":"https://gitlab.com/gitea/test_repo/-/issues?release_tag=v0.9.99\u0026scope=all\u0026state=closed","closed_merge_requests_url":"https://gitlab.com/gitea/test_repo/-/merge_requests?release_tag=v0.9.99\u0026scope=all\u0026state=closed","merged_merge_requests_url":"https://gitlab.com/gitea/test_repo/-/merge_requests?release_tag=v0.9.99\u0026scope=all\u0026state=merged","opened_issues_url":"https://gitlab.com/gitea/test_repo/-/issues?release_tag=v0.9.99\u0026scope=all\u0026state=opened","opened_merge_requests_url":"https://gitlab.com/gitea/test_repo/-/merge_requests?release_tag=v0.9.99\u0026scope=all\u0026state=opened","self":"https://gitlab.com/gitea/test_repo/-/releases/v0.9.99"}}] \ No newline at end of file +[{"name":"First Release","tag_name":"v0.9.99","description":"A test release","created_at":"2019-11-28T09:09:48.840Z","released_at":"2019-11-28T09:09:48.836Z","upcoming_release":false,"author":{"id":1241334,"username":"lafriks","name":"Lauris BH","state":"active","locked":false,"avatar_url":"https://gitlab.com/uploads/-/system/user/avatar/1241334/avatar.png","web_url":"https://gitlab.com/lafriks"},"commit":{"id":"0720a3ec57c1f843568298117b874319e7deee75","short_id":"0720a3ec","created_at":"2019-11-28T08:49:16.000+00:00","parent_ids":["93ea21ce45d35690c35e80961d239645139e872c"],"title":"Add new file","message":"Add new file","author_name":"Lauris BH","author_email":"lauris@nix.lv","authored_date":"2019-11-28T08:49:16.000+00:00","committer_name":"Lauris BH","committer_email":"lauris@nix.lv","committed_date":"2019-11-28T08:49:16.000+00:00","trailers":{},"extended_trailers":{},"web_url":"https://gitlab.com/gitea/test_repo/-/commit/0720a3ec57c1f843568298117b874319e7deee75"},"commit_path":"/gitea/test_repo/-/commit/0720a3ec57c1f843568298117b874319e7deee75","tag_path":"/gitea/test_repo/-/tags/v0.9.99","assets":{"count":4,"sources":[{"format":"zip","url":"https://gitlab.com/gitea/test_repo/-/archive/v0.9.99/test_repo-v0.9.99.zip"},{"format":"tar.gz","url":"https://gitlab.com/gitea/test_repo/-/archive/v0.9.99/test_repo-v0.9.99.tar.gz"},{"format":"tar.bz2","url":"https://gitlab.com/gitea/test_repo/-/archive/v0.9.99/test_repo-v0.9.99.tar.bz2"},{"format":"tar","url":"https://gitlab.com/gitea/test_repo/-/archive/v0.9.99/test_repo-v0.9.99.tar"}],"links":[]},"evidences":[{"sha":"89f1223473ee01f192a83d0cb89f4d1eac1de74f01ad","filepath":"https://gitlab.com/gitea/test_repo/-/releases/v0.9.99/evidences/52147.json","collected_at":"2019-11-28T09:09:48.888Z"}],"_links":{"closed_issues_url":"https://gitlab.com/gitea/test_repo/-/issues?release_tag=v0.9.99\u0026scope=all\u0026state=closed","closed_merge_requests_url":"https://gitlab.com/gitea/test_repo/-/merge_requests?release_tag=v0.9.99\u0026scope=all\u0026state=closed","merged_merge_requests_url":"https://gitlab.com/gitea/test_repo/-/merge_requests?release_tag=v0.9.99\u0026scope=all\u0026state=merged","opened_issues_url":"https://gitlab.com/gitea/test_repo/-/issues?release_tag=v0.9.99\u0026scope=all\u0026state=opened","opened_merge_requests_url":"https://gitlab.com/gitea/test_repo/-/merge_requests?release_tag=v0.9.99\u0026scope=all\u0026state=opened","self":"https://gitlab.com/gitea/test_repo/-/releases/v0.9.99"}}] \ No newline at end of file diff --git a/services/migrations/testdata/gitlab/full_download/_api_v4_projects_gitea%2Ftest_repo b/services/migrations/testdata/gitlab/full_download/_api_v4_projects_gitea%2Ftest_repo index 1dc8d86b89..07fed52a81 100644 --- a/services/migrations/testdata/gitlab/full_download/_api_v4_projects_gitea%2Ftest_repo +++ b/services/migrations/testdata/gitlab/full_download/_api_v4_projects_gitea%2Ftest_repo @@ -1,23 +1,22 @@ -Strict-Transport-Security: max-age=31536000 -Cf-Ray: 82d2bac30fed36e0-FRA -Date: Tue, 28 Nov 2023 12:49:12 GMT -Content-Type: application/json -X-Content-Type-Options: nosniff -X-Runtime: 0.116312 -Vary: Origin, Accept-Encoding -X-Frame-Options: SAMEORIGIN -X-Request-Id: 5084076bcc10e9b464dc50d43bbed946 -Etag: W/"3cacfe29f44a69e84a577337eac55d89" -X-Gitlab-Meta: {"correlation_id":"5084076bcc10e9b464dc50d43bbed946","version":"1"} -Gitlab-Lb: haproxy-main-40-lb-gprd -Gitlab-Sv: api-gke-us-east1-c -Report-To: {"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=GpgxXRqGFvANSigzGH3DNrmjsm%2FRpte0wJDN%2FXtsuShjd1pPQp21f9s2XcTl9FZvNUTu63HS%2Bgk9U7VOVZA4WXoEY0cojyAmY1p7PVJpjreGruNAWxqjlN7NSGZ7%2FmvcjgsSjwT%2BdGA%3D"}],"group":"cf-nel","max_age":604800} -Nel: {"success_fraction":0.01,"report_to":"cf-nel","max_age":604800} -Set-Cookie: _cfuvid=BJFuMJd_VojO_sw8EOU4omJmLYeYXbDIivrgVhLib0I-1701175752406-0-604800000; path=/; domain=.gitlab.com; HttpOnly; Secure; SameSite=None -Server: cloudflare -Cache-Control: max-age=0, private, must-revalidate Content-Security-Policy: default-src 'none' +Vary: Origin, Accept-Encoding Referrer-Policy: strict-origin-when-cross-origin +Gitlab-Sv: localhost +X-Content-Type-Options: nosniff +Ratelimit-Reset: 1701333946 +Ratelimit-Resettime: Thu, 30 Nov 2023 08:45:46 GMT +X-Runtime: 0.144599 +Content-Type: application/json +X-Gitlab-Meta: {"correlation_id":"919887b868b11ed34c5917e98b4be40d","version":"1"} +Ratelimit-Observed: 2 +Gitlab-Lb: haproxy-main-42-lb-gprd +Strict-Transport-Security: max-age=31536000 Cf-Cache-Status: MISS +Ratelimit-Limit: 2000 +Set-Cookie: _cfuvid=BENIrMVlxs_tt.JplEkDKbUrMpOF_kjRRLJOifNTLqY-1701333886061-0-604800000; path=/; domain=.gitlab.com; HttpOnly; Secure; SameSite=None +Etag: W/"3cacfe29f44a69e84a577337eac55d89" +X-Frame-Options: SAMEORIGIN +Cache-Control: max-age=0, private, must-revalidate +Ratelimit-Remaining: 1998 {"id":15578026,"description":"Test repository for testing migration from gitlab to gitea","name":"test_repo","name_with_namespace":"gitea / test_repo","path":"test_repo","path_with_namespace":"gitea/test_repo","created_at":"2019-11-28T08:20:33.019Z","default_branch":"master","tag_list":["migration","test"],"topics":["migration","test"],"ssh_url_to_repo":"git@gitlab.com:gitea/test_repo.git","http_url_to_repo":"https://gitlab.com/gitea/test_repo.git","web_url":"https://gitlab.com/gitea/test_repo","readme_url":"https://gitlab.com/gitea/test_repo/-/blob/master/README.md","forks_count":1,"avatar_url":null,"star_count":0,"last_activity_at":"2020-04-19T19:46:04.527Z","namespace":{"id":3181312,"name":"gitea","path":"gitea","kind":"group","full_path":"gitea","parent_id":null,"avatar_url":"/uploads/-/system/group/avatar/3181312/gitea.png","web_url":"https://gitlab.com/groups/gitea"},"container_registry_image_prefix":"registry.gitlab.com/gitea/test_repo","_links":{"self":"https://gitlab.com/api/v4/projects/15578026","issues":"https://gitlab.com/api/v4/projects/15578026/issues","merge_requests":"https://gitlab.com/api/v4/projects/15578026/merge_requests","repo_branches":"https://gitlab.com/api/v4/projects/15578026/repository/branches","labels":"https://gitlab.com/api/v4/projects/15578026/labels","events":"https://gitlab.com/api/v4/projects/15578026/events","members":"https://gitlab.com/api/v4/projects/15578026/members","cluster_agents":"https://gitlab.com/api/v4/projects/15578026/cluster_agents"},"packages_enabled":true,"empty_repo":false,"archived":false,"visibility":"public","resolve_outdated_diff_discussions":false,"issues_enabled":true,"merge_requests_enabled":true,"wiki_enabled":true,"jobs_enabled":true,"snippets_enabled":true,"container_registry_enabled":true,"service_desk_enabled":true,"can_create_merge_request_in":true,"issues_access_level":"enabled","repository_access_level":"enabled","merge_requests_access_level":"enabled","forking_access_level":"enabled","wiki_access_level":"enabled","builds_access_level":"enabled","snippets_access_level":"enabled","pages_access_level":"enabled","analytics_access_level":"enabled","container_registry_access_level":"enabled","security_and_compliance_access_level":"private","releases_access_level":"enabled","environments_access_level":"enabled","feature_flags_access_level":"enabled","infrastructure_access_level":"enabled","monitor_access_level":"enabled","model_experiments_access_level":"enabled","emails_disabled":false,"emails_enabled":true,"shared_runners_enabled":true,"lfs_enabled":true,"creator_id":1241334,"import_status":"none","open_issues_count":0,"description_html":"\u003cp data-sourcepos=\"1:1-1:58\" dir=\"auto\"\u003eTest repository for testing migration from gitlab to gitea\u003c/p\u003e","updated_at":"2022-08-26T19:41:46.691Z","ci_config_path":null,"public_jobs":true,"shared_with_groups":[],"only_allow_merge_if_pipeline_succeeds":false,"allow_merge_on_skipped_pipeline":null,"request_access_enabled":true,"only_allow_merge_if_all_discussions_are_resolved":false,"remove_source_branch_after_merge":true,"printing_merge_request_link_enabled":true,"merge_method":"ff","squash_option":"default_off","enforce_auth_checks_on_uploads":true,"suggestion_commit_message":null,"merge_commit_template":null,"squash_commit_template":null,"issue_branch_template":null,"autoclose_referenced_issues":true,"external_authorization_classification_label":"","requirements_enabled":false,"requirements_access_level":"enabled","security_and_compliance_enabled":false,"compliance_frameworks":[],"permissions":{"project_access":null,"group_access":null}} \ No newline at end of file diff --git a/services/migrations/testdata/gitlab/full_download/_api_v4_version b/services/migrations/testdata/gitlab/full_download/_api_v4_version index a0ff28303c..7c2cd320ad 100644 --- a/services/migrations/testdata/gitlab/full_download/_api_v4_version +++ b/services/migrations/testdata/gitlab/full_download/_api_v4_version @@ -1,23 +1,22 @@ +Etag: W/"4e5c0a031c3aacb6ba0a3c19e67d7592" +Ratelimit-Observed: 1 +Content-Type: application/json +Ratelimit-Remaining: 1999 +Set-Cookie: _cfuvid=qtYbzv8YeGg4q7XaV0aAE2.YqWIp_xrYPGilXrlecsk-1701333885742-0-604800000; path=/; domain=.gitlab.com; HttpOnly; Secure; SameSite=None +X-Gitlab-Meta: {"correlation_id":"c7c75f0406e1b1b9705a6d7e9bdb06a5","version":"1"} +X-Runtime: 0.039264 +Cf-Cache-Status: MISS Content-Security-Policy: default-src 'none' +Ratelimit-Reset: 1701333945 +Gitlab-Sv: localhost +Strict-Transport-Security: max-age=31536000 Vary: Origin, Accept-Encoding X-Content-Type-Options: nosniff -Gitlab-Lb: haproxy-main-31-lb-gprd -Set-Cookie: _cfuvid=gGLTCQ.DBiLTAaGLmVcffUW2lZvY.zMxk5xBKUQHLPM-1701175752131-0-604800000; path=/; domain=.gitlab.com; HttpOnly; Secure; SameSite=None -Server: cloudflare -Cf-Ray: 82d2bac1be3636e0-FRA -Content-Type: application/json -Cache-Control: max-age=0, private, must-revalidate -Etag: W/"4648d4a6bf714a790516932423329284" -X-Frame-Options: SAMEORIGIN -Gitlab-Sv: api-gke-us-east1-c -X-Request-Id: 27484ae5219156b31c1cc83893083969 -Strict-Transport-Security: max-age=31536000 Referrer-Policy: strict-origin-when-cross-origin -Report-To: {"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=kdjyYWvTDoPNQ4iBJJYS%2Fjbs5F20wM3pU2b9NaqMkiYLRy66lnlp00bppZl2fJOmp4xVD7WF0aDBG5UPGTSdRmAs%2BJUfFxgcX9mrehewmVftcwk6iUKdCqZA9xVIMEC5qiGi0f1bAEg%3D"}],"group":"cf-nel","max_age":604800} -Date: Tue, 28 Nov 2023 12:49:12 GMT -X-Gitlab-Meta: {"correlation_id":"27484ae5219156b31c1cc83893083969","version":"1"} -X-Runtime: 0.044589 -Cf-Cache-Status: MISS -Nel: {"success_fraction":0.01,"report_to":"cf-nel","max_age":604800} +Ratelimit-Resettime: Thu, 30 Nov 2023 08:45:45 GMT +Gitlab-Lb: haproxy-main-23-lb-gprd +Cache-Control: max-age=0, private, must-revalidate +X-Frame-Options: SAMEORIGIN +Ratelimit-Limit: 2000 -{"version":"16.7.0-pre","revision":"25ffee8ef90","kas":{"enabled":true,"externalUrl":"wss://kas.gitlab.com","version":"v16.7.0-rc2"},"enterprise":true} \ No newline at end of file +{"version":"16.7.0-pre","revision":"acd848a9228","kas":{"enabled":true,"externalUrl":"wss://kas.gitlab.com","version":"v16.7.0-rc2"},"enterprise":true} \ No newline at end of file