github.com/tacerus/ldifdiff@v0.0.0-20181030102753-4dccbe38183b/ldifConvertor_test.go (about) 1 package ldifdiff 2 3 import ( 4 "bytes" 5 "sync" 6 "testing" 7 ) 8 9 func TestCreateModifyStr(t *testing.T) { 10 11 // Regular use 12 modifyLdif, _ := createModifyStr(testActionEntryTestData.ModifyOnlyAdd) 13 if modifyLdif != testModifyAddStr { 14 t.Error("Expected:\n[" + testModifyAddStr + "]\nGot:\n[" + modifyLdif + "]\n") 15 } 16 17 modifyLdif, _ = createModifyStr(testActionEntryTestData.ModifyOnlyDelete) 18 if modifyLdif != testModifyDeleteStr { 19 t.Error("Expected:\n[" + testModifyAddStr + "]\nGot:\n[" + modifyLdif + "]\n") 20 } 21 modifyLdif, _ = createModifyStr(testActionEntryTestData.ModifyOnlyReplace) 22 if modifyLdif != testModifyReplaceStr { 23 t.Error("Expected:\n[" + testModifyAddStr + "]\nGot:\n[" + modifyLdif + "]\n") 24 } 25 26 // Errors 27 _, err := createModifyStr(testActionEntryTestData.ModifyNone) 28 if err == nil { 29 t.Error("Invalid Subaction subActionNone for action actionModify") 30 } 31 } 32 33 func TestWriteLdif(t *testing.T) { 34 var buffer bytes.Buffer 35 var wg sync.WaitGroup 36 var err error 37 queue := make(chan actionEntry) 38 wg.Add(2) 39 go func(queue chan actionEntry) { 40 queue <- testActionEntryTestData.Add 41 queue <- testActionEntryTestData.Delete 42 queue <- testActionEntryTestData.Modify 43 close(queue) 44 wg.Done() 45 }(queue) 46 47 go writeLdif(queue, &buffer, &wg, &err) 48 wg.Wait() 49 50 if err != nil { 51 t.Error("Error not expected, got: ", err) 52 } 53 ldif := buffer.String() 54 if ldif != testModifyStr { 55 t.Error("Expected:\n[" + testModifyStr + "]\nGot:\n[" + ldif + "]\n") 56 } 57 } 58 59 func TestWriteLdifError(t *testing.T) { 60 var buffer bytes.Buffer 61 var wg sync.WaitGroup 62 var err error 63 queue := make(chan actionEntry) 64 wg.Add(2) 65 go func(queue chan actionEntry) { 66 actionEntry := actionEntry{Dn: testDn, Action: 100, 67 SubActionAttrs: []subActionAttrs{{subActionNone: testAttrList}}} 68 queue <- actionEntry 69 close(queue) 70 wg.Done() 71 }(queue) 72 73 go writeLdif(queue, &buffer, &wg, &err) 74 wg.Wait() 75 76 if err == nil { 77 t.Error("Error expected for invalid action") 78 } 79 }