mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-10-31 20:21:47 +01:00 
			
		
		
		
	Yet another attempt to fix the intermittent failure of gpg git test (#9146)
* Yet another attempt to fix the race in gpg_git_test * add some fail nows * Need to set preparetestenv * Ensure that http messages go to the correct server
This commit is contained in:
		
							parent
							
								
									055f6d2296
								
							
						
					
					
						commit
						9d9e6ac411
					
				| @ -91,6 +91,7 @@ func onGiteaRun(t *testing.T, callback func(*testing.T, *url.URL), prepare ...bo | ||||
| 	assert.NoError(t, err) | ||||
| 	listener, err := net.Listen("tcp", u.Host) | ||||
| 	assert.NoError(t, err) | ||||
| 	u.Host = listener.Addr().String() | ||||
| 
 | ||||
| 	defer func() { | ||||
| 		ctx, cancel := context.WithTimeout(context.Background(), 2*time.Minute) | ||||
|  | ||||
| @ -23,6 +23,7 @@ import ( | ||||
| ) | ||||
| 
 | ||||
| func TestGPGGit(t *testing.T) { | ||||
| 	prepareTestEnv(t) | ||||
| 	username := "user2" | ||||
| 
 | ||||
| 	// OK Set a new GPG home | ||||
| @ -125,11 +126,19 @@ func TestGPGGit(t *testing.T) { | ||||
| 			t.Run("CreateCRUDFile-Always", crudActionCreateFile( | ||||
| 				t, testCtx, user, "master", "always", "signed-always.txt", func(t *testing.T, response api.FileResponse) { | ||||
| 					assert.True(t, response.Verification.Verified) | ||||
| 					if !response.Verification.Verified { | ||||
| 						t.FailNow() | ||||
| 						return | ||||
| 					} | ||||
| 					assert.Equal(t, "gitea@fake.local", response.Verification.Signer.Email) | ||||
| 				})) | ||||
| 			t.Run("CreateCRUDFile-ParentSigned-always", crudActionCreateFile( | ||||
| 				t, testCtx, user, "parentsigned", "parentsigned-always", "signed-parent2.txt", func(t *testing.T, response api.FileResponse) { | ||||
| 					assert.True(t, response.Verification.Verified) | ||||
| 					if !response.Verification.Verified { | ||||
| 						t.FailNow() | ||||
| 						return | ||||
| 					} | ||||
| 					assert.Equal(t, "gitea@fake.local", response.Verification.Signer.Email) | ||||
| 				})) | ||||
| 		}) | ||||
| @ -144,6 +153,10 @@ func TestGPGGit(t *testing.T) { | ||||
| 			t.Run("CreateCRUDFile-Always-ParentSigned", crudActionCreateFile( | ||||
| 				t, testCtx, user, "always", "always-parentsigned", "signed-always-parentsigned.txt", func(t *testing.T, response api.FileResponse) { | ||||
| 					assert.True(t, response.Verification.Verified) | ||||
| 					if !response.Verification.Verified { | ||||
| 						t.FailNow() | ||||
| 						return | ||||
| 					} | ||||
| 					assert.Equal(t, "gitea@fake.local", response.Verification.Signer.Email) | ||||
| 				})) | ||||
| 		}) | ||||
| @ -160,6 +173,10 @@ func TestGPGGit(t *testing.T) { | ||||
| 				assert.NotNil(t, branch.Commit) | ||||
| 				assert.NotNil(t, branch.Commit.Verification) | ||||
| 				assert.True(t, branch.Commit.Verification.Verified) | ||||
| 				if !branch.Commit.Verification.Verified { | ||||
| 					t.FailNow() | ||||
| 					return | ||||
| 				} | ||||
| 				assert.Equal(t, "gitea@fake.local", branch.Commit.Verification.Signer.Email) | ||||
| 			})) | ||||
| 		}) | ||||
| @ -170,7 +187,8 @@ func TestGPGGit(t *testing.T) { | ||||
| 
 | ||||
| 		t.Run("AlwaysSign-Initial-CRUD-Never", func(t *testing.T) { | ||||
| 			defer PrintCurrentTest(t)() | ||||
| 			testCtx := NewAPITestContext(t, username, "initial-always") | ||||
| 			testCtx := NewAPITestContext(t, username, "initial-always-never") | ||||
| 			t.Run("CreateRepository", doAPICreateRepository(testCtx, false)) | ||||
| 			t.Run("CreateCRUDFile-Never", crudActionCreateFile( | ||||
| 				t, testCtx, user, "master", "never", "unsigned-never.txt", func(t *testing.T, response api.FileResponse) { | ||||
| 					assert.False(t, response.Verification.Verified) | ||||
| @ -180,13 +198,17 @@ func TestGPGGit(t *testing.T) { | ||||
| 	setting.Repository.Signing.CRUDActions = []string{"parentsigned"} | ||||
| 	onGiteaRun(t, func(t *testing.T, u *url.URL) { | ||||
| 		u.Path = baseAPITestContext.GitPath() | ||||
| 
 | ||||
| 		t.Run("AlwaysSign-Initial-CRUD-ParentSigned-On-Always", func(t *testing.T) { | ||||
| 			defer PrintCurrentTest(t)() | ||||
| 			testCtx := NewAPITestContext(t, username, "initial-always") | ||||
| 			testCtx := NewAPITestContext(t, username, "initial-always-parent") | ||||
| 			t.Run("CreateRepository", doAPICreateRepository(testCtx, false)) | ||||
| 			t.Run("CreateCRUDFile-ParentSigned", crudActionCreateFile( | ||||
| 				t, testCtx, user, "master", "parentsigned", "signed-parent.txt", func(t *testing.T, response api.FileResponse) { | ||||
| 					assert.True(t, response.Verification.Verified) | ||||
| 					if !response.Verification.Verified { | ||||
| 						t.FailNow() | ||||
| 						return | ||||
| 					} | ||||
| 					assert.Equal(t, "gitea@fake.local", response.Verification.Signer.Email) | ||||
| 				})) | ||||
| 		}) | ||||
| @ -197,10 +219,15 @@ func TestGPGGit(t *testing.T) { | ||||
| 
 | ||||
| 		t.Run("AlwaysSign-Initial-CRUD-Always", func(t *testing.T) { | ||||
| 			defer PrintCurrentTest(t)() | ||||
| 			testCtx := NewAPITestContext(t, username, "initial-always") | ||||
| 			testCtx := NewAPITestContext(t, username, "initial-always-always") | ||||
| 			t.Run("CreateRepository", doAPICreateRepository(testCtx, false)) | ||||
| 			t.Run("CreateCRUDFile-Always", crudActionCreateFile( | ||||
| 				t, testCtx, user, "master", "always", "signed-always.txt", func(t *testing.T, response api.FileResponse) { | ||||
| 					assert.True(t, response.Verification.Verified) | ||||
| 					if !response.Verification.Verified { | ||||
| 						t.FailNow() | ||||
| 						return | ||||
| 					} | ||||
| 					assert.Equal(t, "gitea@fake.local", response.Verification.Signer.Email) | ||||
| 				})) | ||||
| 
 | ||||
| @ -287,7 +314,7 @@ func crudActionCreateFile(t *testing.T, ctx APITestContext, user *models.User, f | ||||
| 				Email: user.Email, | ||||
| 			}, | ||||
| 		}, | ||||
| 		Content: base64.StdEncoding.EncodeToString([]byte("This is new text")), | ||||
| 		Content: base64.StdEncoding.EncodeToString([]byte(fmt.Sprintf("This is new text for %s", path))), | ||||
| 	}, callback...) | ||||
| } | ||||
| 
 | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user