...

Source file src/edge-infra.dev/pkg/edge/flux/bootstrap/config_test.go

Documentation: edge-infra.dev/pkg/edge/flux/bootstrap

     1  package bootstrap
     2  
     3  import (
     4  	"testing"
     5  	"time"
     6  
     7  	kustomizeApiV1beta2 "github.com/fluxcd/kustomize-controller/api/v1beta2"
     8  	sourceAPIv1beta2 "github.com/fluxcd/source-controller/api/v1beta2"
     9  	assert "github.com/stretchr/testify/assert"
    10  )
    11  
    12  func TestBucketFluxConfig(t *testing.T) {
    13  	b := BucketFluxConfig().Build()
    14  	assert.Equal(t, defaultTimeout, b.(*sourceAPIv1beta2.Bucket).Spec.Timeout.Duration)
    15  	assert.Equal(t, defaultInterval, b.(*sourceAPIv1beta2.Bucket).Spec.Interval.Duration)
    16  	assert.Equal(t, gcpProvider, b.(*sourceAPIv1beta2.Bucket).Spec.Provider)
    17  	assert.Equal(t, gcpEndpoint, b.(*sourceAPIv1beta2.Bucket).Spec.Endpoint)
    18  	assert.False(t, b.(*sourceAPIv1beta2.Bucket).Spec.Insecure)
    19  }
    20  
    21  func TestBucketName(t *testing.T) {
    22  	ns := "comp-rulz"
    23  	b := BucketFluxConfig().Namespace(ns).Build()
    24  	assert.Equal(t, ns, b.GetNamespace())
    25  }
    26  
    27  func TestBucketNamespace(t *testing.T) {
    28  	ns := "not-flux-system"
    29  	b := BucketFluxConfig().Namespace(ns).Build()
    30  	assert.Equal(t, ns, b.GetNamespace())
    31  }
    32  
    33  func TestBucketInterval(t *testing.T) {
    34  	i, err := time.ParseDuration("5m")
    35  	assert.NoError(t, err)
    36  
    37  	b := BucketFluxConfig().Interval(i).Build()
    38  	assert.Equal(t, i, b.(*sourceAPIv1beta2.Bucket).Spec.Interval.Duration)
    39  }
    40  
    41  func TestBucketSecretName(t *testing.T) {
    42  	sec := "top-secret"
    43  	b := BucketFluxConfig().SecretName(sec).Build()
    44  	assert.Equal(t, sec, b.(*sourceAPIv1beta2.Bucket).Spec.SecretRef.Name)
    45  }
    46  
    47  func TestBucketTimeout(t *testing.T) {
    48  	timeout, err := time.ParseDuration("10m")
    49  	assert.NoError(t, err)
    50  
    51  	b := BucketFluxConfig().Timeout(timeout).Build()
    52  	assert.Equal(t, timeout, b.(*sourceAPIv1beta2.Bucket).Spec.Timeout.Duration)
    53  }
    54  
    55  func TestBucketForCluster(t *testing.T) {
    56  	cluster := "bob-the-builder"
    57  	b := BucketFluxConfig().ForCluster(cluster).Build()
    58  	assert.Contains(t, *b.(*sourceAPIv1beta2.Bucket).Spec.Ignore, cluster)
    59  }
    60  
    61  func TestBucketBucketName(t *testing.T) {
    62  	n := "cant-jump"
    63  	b := BucketFluxConfig().BucketName(n).Build()
    64  	assert.Equal(t, n, b.(*sourceAPIv1beta2.Bucket).Spec.BucketName)
    65  }
    66  
    67  func TestBuildKustomization(t *testing.T) {
    68  	k := KustomizeFluxConfig().Build()
    69  	assert.Equal(t, defaultTimeout, k.(*kustomizeApiV1beta2.Kustomization).Spec.Timeout.Duration)
    70  	assert.Equal(t, defaultInterval, k.(*kustomizeApiV1beta2.Kustomization).Spec.Interval.Duration)
    71  	assert.Equal(t, kindBucket, k.(*kustomizeApiV1beta2.Kustomization).Spec.SourceRef.Kind)
    72  	assert.True(t, k.(*kustomizeApiV1beta2.Kustomization).Spec.Force)
    73  	assert.True(t, k.(*kustomizeApiV1beta2.Kustomization).Spec.Prune)
    74  }
    75  
    76  func TestKustomizeName(t *testing.T) {
    77  	n := "apply4job"
    78  	b := KustomizeFluxConfig().Name(n).Build()
    79  	assert.Equal(t, n, b.GetName())
    80  }
    81  
    82  func TestKustomizeNamespace(t *testing.T) {
    83  	ns := "def-not-flux-system"
    84  	b := KustomizeFluxConfig().Namespace(ns).Build()
    85  	assert.Equal(t, ns, b.GetNamespace())
    86  }
    87  
    88  func TestKustomizeInterval(t *testing.T) {
    89  	i, err := time.ParseDuration("5m")
    90  	assert.NoError(t, err)
    91  
    92  	b := KustomizeFluxConfig().Interval(i).Build()
    93  	assert.Equal(t, i, b.(*kustomizeApiV1beta2.Kustomization).Spec.Interval.Duration)
    94  }
    95  
    96  func TestKustomizPath(t *testing.T) {
    97  	p := "in/dat/dare/dir"
    98  	b := KustomizeFluxConfig().Path(p).Build()
    99  	assert.Equal(t, p, b.(*kustomizeApiV1beta2.Kustomization).Spec.Path)
   100  }
   101  
   102  func TestKustomizeTimeout(t *testing.T) {
   103  	timeout, err := time.ParseDuration("10m")
   104  	assert.NoError(t, err)
   105  
   106  	b := KustomizeFluxConfig().Timeout(timeout).Build()
   107  	assert.Equal(t, timeout, b.(*kustomizeApiV1beta2.Kustomization).Spec.Timeout.Duration)
   108  }
   109  
   110  func TestKustomizeBucketName(t *testing.T) {
   111  	bn := "can-jump"
   112  	b := KustomizeFluxConfig().BucketName(bn).Build()
   113  	assert.Equal(t, bn, b.(*kustomizeApiV1beta2.Kustomization).Spec.SourceRef.Name)
   114  }
   115  
   116  func TestKustomizePrune(t *testing.T) {
   117  	p := true
   118  	b := KustomizeFluxConfig().Prune(p).Build()
   119  	assert.True(t, b.(*kustomizeApiV1beta2.Kustomization).Spec.Prune)
   120  }
   121  

View as plain text