github.com/tacerus/ldifdiff@v0.0.0-20181030102753-4dccbe38183b/diff_test.go (about) 1 package ldifdiff 2 3 import ( 4 "os" 5 "strings" 6 "testing" 7 ) 8 9 func TestDiff(t *testing.T) { 10 ldif, err := Diff(testSourceStr, testTargetStr, nil) 11 if ldif != testResultStr { 12 t.Error("Expected:\n[" + testResultStr + "]\nGot:\n[" + ldif + "]\n") 13 } 14 if err != nil { 15 t.Error("Expected values, got error: ", err) 16 } 17 if ldif == "" { 18 t.Error("Expected changes, got an empty modifyStr") 19 } 20 21 ldif, err = Diff(testSourceStr, testTargetStr, testIgnoreAttr) 22 if err != nil { 23 t.Error("Expected values, got error: ", err) 24 } 25 if ldif == "" { 26 t.Error("Expected changes, got an empty modifyStr") 27 } 28 for _, ignoredAttr := range testIgnoreAttr { 29 if strings.Contains(ldif, ignoredAttr+":") { 30 t.Error("Attribute", ignoredAttr, "not ignored") 31 } 32 } 33 } 34 35 func TestDiffFromFiles(t *testing.T) { 36 ldif, err := DiffFromFiles(testSourceLdifFile, testTargetLdifFile, nil) 37 if ldif != testResultStr { 38 t.Error("Expected:\n[" + testResultStr + "]\nGot:\n[" + ldif + "]\n") 39 } 40 if err != nil { 41 t.Error("Expected values, got error: ", err) 42 } 43 if ldif == "" { 44 t.Error("Expected changes, got an empty modifyStr") 45 } 46 47 ldif, err = DiffFromFiles(testSourceLdifFile, testTargetLdifFile, testIgnoreAttr) 48 if err != nil { 49 t.Error("Expected values, got error: ", err) 50 } 51 if ldif == "" { 52 t.Error("Expected changes, got an empty modifyStr") 53 } 54 for _, ignoredAttr := range testIgnoreAttr { 55 if strings.Contains(ldif, ignoredAttr+":") { 56 t.Error("Attribute", ignoredAttr, "not ignored") 57 } 58 } 59 } 60 61 func TestListDiffDn(t *testing.T) { 62 dns, err := ListDiffDn(testSourceStr, testTargetStr, nil) 63 joinedLines := strings.Join(dns, "\n") + "\n" 64 if joinedLines != testResultDnStr { 65 t.Error("Expected:\n[" + testResultDnStr + "]\nGot:\n[" + joinedLines + "]\n") 66 } 67 if err != nil { 68 t.Error("Expected values, got error: ", err) 69 } 70 71 dns, err = ListDiffDn(testSourceStr, testTargetStr, testIgnoreAttrDn) 72 joinedLines = strings.Join(dns, "\n") + "\n" 73 if joinedLines != testResultDnIgnoreAttrStr { 74 t.Error("Expected:\n[" + testResultDnIgnoreAttrStr + "]\nGot:\n[" + joinedLines + "]\n") 75 } 76 if err != nil { 77 t.Error("Expected values, got error: ", err) 78 } 79 } 80 81 func TestListDiffDnFromFiles(t *testing.T) { 82 dns, err := ListDiffDnFromFiles(testSourceLdifFile, testTargetLdifFile, nil) 83 joinedLines := strings.Join(dns, "\n") + "\n" 84 if joinedLines != testResultDnStr { 85 t.Error("Expected:\n[" + testResultDnStr + "]\nGot:\n[" + joinedLines + "]\n") 86 } 87 if err != nil { 88 t.Error("Expected values, got error: ", err) 89 } 90 } 91 92 func TestDiffFromFilesBig(t *testing.T) { 93 if os.Getenv(testBigFilesEnv) != testBigFilesEnvValue { 94 t.Skip("Skipping big files test") 95 } 96 ldif, err := DiffFromFiles(testSourceLdifFileBig, testTargetLdifFileBig, nil) 97 if ldif != testResultStr { 98 t.Error("Expected:\n[" + testResultStrBig + "]\nGot:\n[" + ldif + "]\n") 99 } 100 if err != nil { 101 t.Error("Expected values, got error: ", err) 102 } 103 if ldif == "" { 104 t.Error("Expected changes, got an empty modifyStr") 105 } 106 } 107 108 func TestDiffBig(t *testing.T) { 109 if os.Getenv(testBigFilesEnv) != testBigFilesEnvValue { 110 t.Skip("Skipping big files test") 111 } 112 ldif, err := Diff(testSourceStrBig, testTargetStrBig, nil) 113 if ldif != testResultStr { 114 t.Error("Expected:\n" + testResultStrBig + "Got:\n" + ldif) 115 } 116 if err != nil { 117 t.Error("Expected values, got error: ", err) 118 } 119 if ldif == "" { 120 t.Error("Expected changes, got an empty modifyStr") 121 } 122 123 ldif, err = Diff(testSourceStrBig, testTargetStrBig, testIgnoreAttr) 124 if err != nil { 125 t.Error("Expected values, got error: ", err) 126 } 127 if ldif == "" { 128 t.Error("Expected changes, got an empty modifyStr") 129 } 130 for _, ignoredAttr := range testIgnoreAttr { 131 if strings.Contains(ldif, ignoredAttr+":") { 132 t.Error("Attribute", ignoredAttr, "not ignored") 133 } 134 } 135 } 136 137 func TestCompare(t *testing.T) { 138 source, _ := importLdifFile(testSourceLdifFile, nil) 139 target, _ := importLdifFile(testTargetLdifFile, nil) 140 ldif, err := compare(&source, &target, nil) 141 if ldif != testResultStr { 142 t.Error("Expected:\n[" + testResultStr + "]\nGot:\n[" + ldif + "]\n") 143 } 144 if err != nil { 145 t.Error("Expected values, got error: ", err) 146 } 147 if ldif == "" { 148 t.Error("Expected changes, got an empty modifyStr") 149 } 150 }