github.com/argoproj/argo-cd/v3@v3.2.1/test/e2e/git_submodule_test.go (about)

     1  package e2e
     2  
     3  import (
     4  	"testing"
     5  
     6  	corev1 "k8s.io/api/core/v1"
     7  
     8  	. "github.com/argoproj/argo-cd/v3/pkg/apis/application/v1alpha1"
     9  	"github.com/argoproj/argo-cd/v3/test/e2e/fixture"
    10  	. "github.com/argoproj/argo-cd/v3/test/e2e/fixture/app"
    11  )
    12  
    13  func TestGitSubmoduleSSHSupport(t *testing.T) {
    14  	Given(t).
    15  		RepoURLType(fixture.RepoURLTypeSSHSubmoduleParent).
    16  		Path("submodule").
    17  		Recurse().
    18  		CustomSSHKnownHostsAdded().
    19  		SubmoduleSSHRepoURLAdded(true).
    20  		When().
    21  		CreateFromFile(func(_ *Application) {}).
    22  		Sync().
    23  		Then().
    24  		Expect(SyncStatusIs(SyncStatusCodeSynced)).
    25  		Expect(Pod(func(p corev1.Pod) bool { return p.Name == "pod-in-submodule" }))
    26  }
    27  
    28  func TestGitSubmoduleHTTPSSupport(t *testing.T) {
    29  	Given(t).
    30  		RepoURLType(fixture.RepoURLTypeHTTPSSubmoduleParent).
    31  		Path("submodule").
    32  		Recurse().
    33  		CustomCACertAdded().
    34  		SubmoduleHTTPSRepoURLAdded(true).
    35  		When().
    36  		CreateFromFile(func(_ *Application) {}).
    37  		Sync().
    38  		Then().
    39  		Expect(SyncStatusIs(SyncStatusCodeSynced)).
    40  		Expect(Pod(func(p corev1.Pod) bool { return p.Name == "pod-in-submodule" }))
    41  }
    42  
    43  func TestGitSubmoduleRemovalSupport(t *testing.T) {
    44  	Given(t).
    45  		RepoURLType(fixture.RepoURLTypeSSHSubmoduleParent).
    46  		Path("submodule").
    47  		Recurse().
    48  		CustomSSHKnownHostsAdded().
    49  		SubmoduleSSHRepoURLAdded(true).
    50  		When().
    51  		CreateFromFile(func(_ *Application) {}).
    52  		Sync().
    53  		Then().
    54  		Expect(SyncStatusIs(SyncStatusCodeSynced)).
    55  		Expect(Pod(func(p corev1.Pod) bool { return p.Name == "pod-in-submodule" })).
    56  		When().
    57  		RemoveSubmodule().
    58  		Refresh(RefreshTypeNormal).
    59  		Sync().
    60  		Then().
    61  		Expect(SyncStatusIs(SyncStatusCodeSynced)).
    62  		Expect(NotPod(func(p corev1.Pod) bool { return p.Name == "pod-in-submodule" }))
    63  }