| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151 |
- package grapher_test
- import (
- "io/ioutil"
- "testing"
- "github.com/porter-dev/porter/internal/helm/grapher"
- )
- // Expected objects for helm Cassandra chart
- var c1 = grapher.Object{
- Kind: "Secret",
- Name: "my-release-cassandra",
- }
- var c2 = grapher.Object{
- Kind: "Service",
- Name: "my-release-cassandra-headless",
- Relations: grapher.Relations{
- LabelRels: []grapher.LabelRel{
- grapher.LabelRel{
- Relation: grapher.Relation{
- Source: 1,
- Target: 4,
- },
- },
- grapher.LabelRel{
- Relation: grapher.Relation{
- Source: 1,
- Target: 5,
- },
- },
- },
- },
- }
- var c3 = grapher.Object{
- Kind: "Service",
- Name: "my-release-cassandra",
- Relations: grapher.Relations{
- LabelRels: []grapher.LabelRel{
- grapher.LabelRel{
- Relation: grapher.Relation{
- Source: 2,
- Target: 4,
- },
- },
- grapher.LabelRel{
- Relation: grapher.Relation{
- Source: 2,
- Target: 5,
- },
- },
- },
- },
- }
- var c4 = grapher.Object{
- Kind: "StatefulSet",
- Name: "my-release-cassandra",
- }
- // Expected objects for helm Cassandra chart
- var k1 = grapher.Object{
- Kind: "ServiceAccount",
- Name: "my-release-kafka",
- }
- var k2 = grapher.Object{
- Kind: "ConfigMap",
- Name: "my-release-kafka-scripts",
- }
- var k3 = grapher.Object{
- Kind: "Service",
- Name: "my-release-zookeeper-headless",
- }
- var k4 = grapher.Object{
- Kind: "Service",
- Name: "my-release-zookeeper",
- }
- var k5 = grapher.Object{
- Kind: "Service",
- Name: "my-release-kafka-headless",
- }
- var k6 = grapher.Object{
- Kind: "Service",
- Name: "my-release-kafka",
- }
- var k7 = grapher.Object{
- Kind: "StatefulSet",
- Name: "my-release-zookeeper",
- }
- var k8 = grapher.Object{
- Kind: "StatefulSet",
- Name: "my-release-kafka",
- }
- var expObjs1 = []grapher.Object{
- c1, c2, c3, c4,
- }
- var expObjs2 = []grapher.Object{
- k1, k2, k3, k4,
- k5, k6, k7, k8,
- }
- type k8sObj struct {
- Expected []grapher.Object
- FilePath string
- }
- func TestParseObj(t *testing.T) {
- k8sObjs := []k8sObj{
- k8sObj{
- Expected: expObjs1,
- FilePath: "./test_yaml/cassandra.yaml",
- },
- k8sObj{
- Expected: expObjs2,
- FilePath: "./test_yaml/kafka.yaml",
- },
- }
- for _, k8sObj := range k8sObjs {
- // Load in yaml from test files
- file, err := ioutil.ReadFile(k8sObj.FilePath)
- if err != nil {
- t.Errorf("Error reading file %s", k8sObj.FilePath)
- }
- yamlArr := grapher.ImportMultiDocYAML(file)
- objects := grapher.ParseObjs(yamlArr, "default")
- for i, o := range objects {
- if k8sObj.Expected[i].Kind != o.Kind {
- t.Errorf("Object Kinds are different at position %d. Expected %s, Got %s\n", i, k8sObj.Expected[i].Kind, o.Kind)
- }
- if k8sObj.Expected[i].Name != o.Name {
- t.Errorf("Object names are different at position %d. Expected %s, Got %s\n", i, k8sObj.Expected[i].Name, o.Name)
- }
- }
- }
- }
|