MCPcopy Index your code
hub / github.com/databus23/helm-diff / TestStructuredOutputAdditionalScenarios

Function TestStructuredOutputAdditionalScenarios

diff/diff_test.go:812–981  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

810}
811
812func TestStructuredOutputAdditionalScenarios(t *testing.T) {
813 ansi.DisableColors(true)
814 opts := &Options{OutputFormat: "structured"}
815
816 t.Run("EmptyManifestHandling", func(t *testing.T) {
817 emptyManifest := ``
818 validManifest := `
819apiVersion: v1
820kind: Pod
821metadata:
822 name: test
823 namespace: default
824`
825 oldIndex := manifest.Parse([]byte(emptyManifest), "default", true)
826 newIndex := manifest.Parse([]byte(validManifest), "default", true)
827
828 var buf bytes.Buffer
829 changed := Manifests(oldIndex, newIndex, opts, &buf)
830 require.True(t, changed)
831
832 var entries []StructuredEntry
833 require.NoError(t, json.Unmarshal(buf.Bytes(), &entries))
834 require.Len(t, entries, 1)
835 require.Equal(t, "ADD", entries[0].ChangeType)
836 require.False(t, entries[0].ResourceStatus.OldExists)
837 require.True(t, entries[0].ResourceStatus.NewExists)
838 })
839
840 t.Run("NullYAMLDocument", func(t *testing.T) {
841 nullManifest := `null`
842 validManifest := `
843apiVersion: v1
844kind: Service
845metadata:
846 name: test
847 namespace: default
848`
849 oldIndex := manifest.Parse([]byte(nullManifest), "default", true)
850 newIndex := manifest.Parse([]byte(validManifest), "default", true)
851
852 var buf bytes.Buffer
853 changed := Manifests(oldIndex, newIndex, opts, &buf)
854 require.True(t, changed)
855
856 var entries []StructuredEntry
857 require.NoError(t, json.Unmarshal(buf.Bytes(), &entries))
858 require.Len(t, entries, 1)
859 require.Equal(t, "ADD", entries[0].ChangeType)
860 })
861
862 t.Run("ComplexNestedStructuresForJSONPatch", func(t *testing.T) {
863 oldManifest := `
864apiVersion: v1
865kind: ConfigMap
866metadata:
867 name: complex
868 namespace: default
869 labels:

Callers

nothing calls this directly

Calls 3

ParseFunction · 0.92
ManifestsFunction · 0.85
findChangeFunction · 0.85

Tested by

no test coverage detected