Files
kata-containers/virtcontainers/pkg/uuid/uuid_test.go
Graham whaley d6c3ec864b license: SPDX: update all vc files to use SPDX style
When imported, the vc files carried in the 'full style' apache
license text, but the standard for kata is to use SPDX style.
Update the relevant files to SPDX.

Fixes: #227

Signed-off-by: Graham whaley <graham.whaley@intel.com>
2018-04-18 13:43:15 +01:00

85 lines
2.0 KiB
Go

// Copyright (c) 2017 Intel Corporation
//
// SPDX-License-Identifier: Apache-2.0
//
package uuid
import "testing"
// Test UUID parsing and string conversation.
//
// This test simply converts a set of strings to UUIDs and back again.
//
// The original strings and the strings generated from the UUIDs match.
func TestUUID(t *testing.T) {
testUUIDs := []string{
"f81d4fae-7dec-11d0-a765-00a0c91e6bf6",
"30dedd5c-48d9-45d3-8b44-f973e4f35e48",
"69e84267-ed01-4738-b15f-b47de06b62e7",
"e35ed972-c46c-4aad-a1e7-ef103ae079a2",
"eba04826-62a5-48bd-876f-9119667b1487",
"ca957444-fa46-11e5-94f9-38607786d9ec",
"ab68111c-03a6-11e6-87de-001320fb6e31",
}
for _, s := range testUUIDs {
uuid, err := Parse(s)
if err != nil {
t.Fatalf("Unable to parse %s: %s", s, err)
}
s2 := uuid.String()
if s != s2 {
t.Fatalf("%s and %s do not match", s, s2)
}
}
}
// Test UUID generation.
//
// This test generates 100 new UUIDs and then verifies that those UUIDs
// can be parsed.
//
// The UUIDs are generated correctly, their version number is correct,
// and they can be parsed.
func TestGenUUID(t *testing.T) {
for i := 0; i < 100; i++ {
u := Generate()
s := u.String()
if s[14] != '4' {
t.Fatalf("Invalid UUID. Version number is incorrect")
}
u2, err := Parse(s)
if err != nil {
t.Fatalf("Failed to parse UUID %s : %s", s, err)
}
if u != u2 {
t.Fatalf("Generated and Parsed UUIDs are not equal")
}
}
}
// Test uuid.Parse on invalid input.
//
// This test attempts to parse a set of invalid UUIDs.
//
// uuid.Parse should return an error for each invalid UUID.
func TestBadUUID(t *testing.T) {
badTestUUIDs := []string{
"",
"48d9-45d3-8b44-f973e4f35e48",
"69e8426--ed01-4738-b15f-b47de06b62e7",
"e35ed972-46c-4aad-a1e7-ef103ae079a2",
"sba04826-62a5-48bd-876f-9119667b1487",
"ca957444fa4611e594f938607786d9ec0000",
"ab68111c-03a6-11e6-87de-001320fb6e31a",
}
for _, s := range badTestUUIDs {
_, err := Parse(s)
if err == nil {
t.Fatalf("uuid.Parse should fail to parse %s", s)
}
}
}