forked from fluxcd/flux
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathexport_test.go
44 lines (36 loc) · 894 Bytes
/
export_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
package git
import (
"context"
"testing"
"time"
"github.com/weaveworks/flux/cluster/kubernetes/testfiles"
)
func TestExportAtRevision(t *testing.T) {
newDir, cleanup := testfiles.TempDir(t)
defer cleanup()
ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second)
defer cancel()
err := createRepo(newDir, []string{"config"})
if err != nil {
t.Fatal(err)
}
repo := NewRepo(Remote{URL: newDir}, ReadOnly)
if err := repo.Ready(ctx); err != nil {
t.Fatal(err)
}
headMinusOne, err := repo.Revision(ctx, "HEAD^1")
if err != nil {
t.Fatal(err)
}
export, err := repo.Export(ctx, headMinusOne)
if err != nil {
t.Fatal(err)
}
exportHead, err := refRevision(ctx, export.dir, "HEAD")
if err != nil {
t.Fatal(err)
}
if headMinusOne != exportHead {
t.Errorf("exported %s, but head in export dir %s is %s", headMinusOne, export.dir, exportHead)
}
}