pkg/utils: split and unexport constants
authorStefan Junker <mail@stefanjunker.de>
Thu, 31 Mar 2016 08:08:52 +0000 (10:08 +0200)
committerStefan Junker <mail@stefanjunker.de>
Thu, 31 Mar 2016 16:01:32 +0000 (18:01 +0200)
utils/utils.go
utils/utils_test.go

index 1566252..5877fb6 100644 (file)
@@ -5,16 +5,17 @@ import (
        "fmt"
 )
 
-const ChainCNIPrefix = ("CNI-")
-const MaxChainLength = 29 - len(ChainCNIPrefix)
+const (
+       maxChainLength = 28
+       chainPrefix    = "CNI-"
+       prefixLength   = len(chainPrefix)
+)
 
 // Generates a chain name to be used with iptables.
 // Ensures that the generated chain name is less than
-// 29 chars in length
+// maxChainLength chars in length
 func FormatChainName(name string, id string) string {
-       chain := fmt.Sprintf("%x", sha512.Sum512([]byte(name+id)))
-       if len(chain) > MaxChainLength {
-               chain = chain[:MaxChainLength]
-       }
-       return fmt.Sprintf("%s%s", ChainCNIPrefix, chain)
+       chainBytes := sha512.Sum512([]byte(name + id))
+       chain := fmt.Sprintf("%s%x", chainPrefix, chainBytes)
+       return chain[:maxChainLength]
 }
index 05fde8a..00e3b4f 100644 (file)
@@ -8,32 +8,31 @@ import (
 var _ = Describe("Utils", func() {
        It("must format a short name", func() {
                chain := FormatChainName("test", "1234")
-               Expect(len(chain) == 29).To(Equal(true))
+               Expect(len(chain)).To(Equal(maxChainLength))
                Expect(chain).To(Equal("CNI-2bbe0c48b91a7d1b8a6753a8b"))
        })
 
        It("must truncate a long name", func() {
                chain := FormatChainName("testalongnamethatdoesnotmakesense", "1234")
-               Expect(len(chain) == 29).To(Equal(true))
+               Expect(len(chain)).To(Equal(maxChainLength))
                Expect(chain).To(Equal("CNI-374f33fe84ab0ed84dcdebe38"))
        })
 
        It("must be predictable", func() {
                chain1 := FormatChainName("testalongnamethatdoesnotmakesense", "1234")
                chain2 := FormatChainName("testalongnamethatdoesnotmakesense", "1234")
-               Expect(len(chain1) == 29).To(Equal(true))
-               Expect(len(chain2) == 29).To(Equal(true))
+               Expect(len(chain1)).To(Equal(maxChainLength))
+               Expect(len(chain2)).To(Equal(maxChainLength))
                Expect(chain1).To(Equal(chain2))
        })
 
        It("must change when a character changes", func() {
                chain1 := FormatChainName("testalongnamethatdoesnotmakesense", "1234")
                chain2 := FormatChainName("testalongnamethatdoesnotmakesense", "1235")
-               Expect(len(chain1) == 29).To(Equal(true))
-               Expect(len(chain2) == 29).To(Equal(true))
+               Expect(len(chain1)).To(Equal(maxChainLength))
+               Expect(len(chain2)).To(Equal(maxChainLength))
                Expect(chain1).To(Equal("CNI-374f33fe84ab0ed84dcdebe38"))
                Expect(chain2).NotTo(Equal("CNI-374f33fe84ab0ed84dcdebe38"))
                Expect(chain1).NotTo(Equal(chain2))
        })
-
 })