-
Notifications
You must be signed in to change notification settings - Fork 148
/
Copy pathartifactoryfederation_test.go
86 lines (73 loc) · 3 KB
/
artifactoryfederation_test.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
package tests
import (
"github.com/jfrog/gofrog/version"
"github.com/jfrog/jfrog-client-go/utils"
"testing"
"github.com/jfrog/jfrog-client-go/artifactory/services"
"github.com/stretchr/testify/assert"
)
func TestArtifactoryFederation(t *testing.T) {
initRepositoryTest(t)
rtVersion, err := GetRtDetails().GetVersion()
if err != nil {
t.Error(err)
}
if !version.NewVersion(rtVersion).AtLeast("7.18.3") {
t.Skip("Skipping artifactory test. Federated repositories are only supported by Artifactory 7.18.3 or higher.")
}
t.Run("localConvertLocalToFederatedTest", localConvertLocalToFederatedTest)
t.Run("localConvertNonExistentLocalToFederatedTest", localConvertNonExistentLocalToFederatedTest)
t.Run("localTriggerFederatedFullSyncAllTest", localTriggerFederatedFullSyncAllTest)
t.Run("localTriggerFederatedFullSyncMirrorTest", localTriggerFederatedFullSyncMirrorTest)
}
func localConvertLocalToFederatedTest(t *testing.T) {
repoKey := GenerateRepoKeyForRepoServiceTest()
glp := services.NewGenericLocalRepositoryParams()
glp.Key = repoKey
glp.RepoLayoutRef = "simple-default"
glp.Description = "Generic Repo for jfrog-client-go federation-test"
glp.XrayIndex = utils.Pointer(true)
glp.DownloadRedirect = utils.Pointer(false)
glp.ArchiveBrowsingEnabled = utils.Pointer(false)
err := testsCreateLocalRepositoryService.Generic(glp)
if !assert.NoError(t, err, "Failed to create "+repoKey) {
return
}
defer deleteRepo(t, repoKey)
err = testsFederationService.ConvertLocalToFederated(repoKey)
assert.NoError(t, err, "Failed to convert "+repoKey)
}
func localConvertNonExistentLocalToFederatedTest(t *testing.T) {
repoKey := GenerateRepoKeyForRepoServiceTest()
err := testsFederationService.ConvertLocalToFederated(repoKey)
assert.Error(t, err, "Failed to not convert "+repoKey)
}
func localTriggerFederatedFullSyncAllTest(t *testing.T) {
repoKey := GenerateRepoKeyForRepoServiceTest()
gfp := services.NewGenericFederatedRepositoryParams()
gfp.Key = repoKey
setFederatedRepositoryBaseParams(&gfp.FederatedRepositoryBaseParams, false)
err := testsCreateFederatedRepositoryService.Generic(gfp)
if !assert.NoError(t, err, "Failed to create "+repoKey) {
return
}
defer deleteRepo(t, repoKey)
validateRepoConfig(t, repoKey, gfp)
err = testsFederationService.TriggerFederatedFullSyncAll(repoKey)
assert.NoError(t, err, "Failed to trigger full synchonisation "+repoKey)
}
func localTriggerFederatedFullSyncMirrorTest(t *testing.T) {
repoKey := GenerateRepoKeyForRepoServiceTest()
gfp := services.NewGenericFederatedRepositoryParams()
gfp.Key = repoKey
setFederatedRepositoryBaseParams(&gfp.FederatedRepositoryBaseParams, false)
err := testsCreateFederatedRepositoryService.Generic(gfp)
if !assert.NoError(t, err, "Failed to create "+repoKey) {
return
}
defer deleteRepo(t, repoKey)
validateRepoConfig(t, repoKey, gfp)
mirror := gfp.Members[0].Url
err = testsFederationService.TriggerFederatedFullSyncMirror(repoKey, mirror)
assert.NoError(t, err, "Failed to trigger synchonisation "+repoKey+" for "+mirror)
}