From 54d3d47daf9190275bbdaf8703b84969a4593451 Mon Sep 17 00:00:00 2001 From: Corey Hulen Date: Fri, 24 Mar 2017 23:31:34 -0700 Subject: PLT-6076 Adding viper libs for config file changes (#5871) * Adding viper libs for config file changes * Removing the old fsnotify lib * updating some missing libs --- .../magiconair/properties/assert/assert.go | 90 ++++++++++++++++++++++ .../magiconair/properties/assert/assert_test.go | 55 +++++++++++++ 2 files changed, 145 insertions(+) create mode 100644 vendor/github.com/magiconair/properties/assert/assert.go create mode 100644 vendor/github.com/magiconair/properties/assert/assert_test.go (limited to 'vendor/github.com/magiconair/properties/assert') diff --git a/vendor/github.com/magiconair/properties/assert/assert.go b/vendor/github.com/magiconair/properties/assert/assert.go new file mode 100644 index 000000000..cb1097baa --- /dev/null +++ b/vendor/github.com/magiconair/properties/assert/assert.go @@ -0,0 +1,90 @@ +// Copyright 2017 Frank Schroeder. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Package assert provides helper functions for testing. +package assert + +import ( + "fmt" + "path/filepath" + "reflect" + "regexp" + "runtime" + "strings" + "testing" +) + +// skip defines the default call depth +const skip = 2 + +// Equal asserts that got and want are equal as defined by +// reflect.DeepEqual. The test fails with msg if they are not equal. +func Equal(t *testing.T, got, want interface{}, msg ...string) { + if x := equal(2, got, want, msg...); x != "" { + fmt.Println(x) + t.Fail() + } +} + +func equal(skip int, got, want interface{}, msg ...string) string { + if !reflect.DeepEqual(got, want) { + return fail(skip, "got %v want %v %s", got, want, strings.Join(msg, " ")) + } + return "" +} + +// Panic asserts that function fn() panics. +// It assumes that recover() either returns a string or +// an error and fails if the message does not match +// the regular expression in 'matches'. +func Panic(t *testing.T, fn func(), matches string) { + if x := doesPanic(2, fn, matches); x != "" { + fmt.Println(x) + t.Fail() + } +} + +func doesPanic(skip int, fn func(), expr string) (err string) { + defer func() { + r := recover() + if r == nil { + err = fail(skip, "did not panic") + return + } + var v string + switch r.(type) { + case error: + v = r.(error).Error() + case string: + v = r.(string) + } + err = matches(skip, v, expr) + }() + fn() + return "" +} + +// Matches asserts that a value matches a given regular expression. +func Matches(t *testing.T, value, expr string) { + if x := matches(2, value, expr); x != "" { + fmt.Println(x) + t.Fail() + } +} + +func matches(skip int, value, expr string) string { + ok, err := regexp.MatchString(expr, value) + if err != nil { + return fail(skip, "invalid pattern %q. %s", expr, err) + } + if !ok { + return fail(skip, "got %s which does not match %s", value, expr) + } + return "" +} + +func fail(skip int, format string, args ...interface{}) string { + _, file, line, _ := runtime.Caller(skip) + return fmt.Sprintf("\t%s:%d: %s\n", filepath.Base(file), line, fmt.Sprintf(format, args...)) +} diff --git a/vendor/github.com/magiconair/properties/assert/assert_test.go b/vendor/github.com/magiconair/properties/assert/assert_test.go new file mode 100644 index 000000000..dcef73dfc --- /dev/null +++ b/vendor/github.com/magiconair/properties/assert/assert_test.go @@ -0,0 +1,55 @@ +// Copyright 2017 Frank Schroeder. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package assert + +import "testing" + +func TestEqualEquals(t *testing.T) { + if got, want := equal(2, "a", "a"), ""; got != want { + t.Fatalf("got %q want %q", got, want) + } +} + +func TestEqualFails(t *testing.T) { + if got, want := equal(2, "a", "b"), "\tassert_test.go:16: got a want b \n"; got != want { + t.Fatalf("got %q want %q", got, want) + } +} + +func TestPanicPanics(t *testing.T) { + if got, want := doesPanic(2, func() { panic("foo") }, ""), ""; got != want { + t.Fatalf("got %q want %q", got, want) + } +} + +func TestPanicPanicsAndMatches(t *testing.T) { + if got, want := doesPanic(2, func() { panic("foo") }, "foo"), ""; got != want { + t.Fatalf("got %q want %q", got, want) + } +} + +func TestPanicPanicsAndDoesNotMatch(t *testing.T) { + if got, want := doesPanic(2, func() { panic("foo") }, "bar"), "\tassert.go:62: got foo which does not match bar\n"; got != want { + t.Fatalf("got %q want %q", got, want) + } +} + +func TestPanicPanicsAndDoesNotPanic(t *testing.T) { + if got, want := doesPanic(2, func() {}, "bar"), "\tassert.go:65: did not panic\n"; got != want { + t.Fatalf("got %q want %q", got, want) + } +} + +func TestMatchesMatches(t *testing.T) { + if got, want := matches(2, "aaa", "a"), ""; got != want { + t.Fatalf("got %q want %q", got, want) + } +} + +func TestMatchesDoesNotMatch(t *testing.T) { + if got, want := matches(2, "aaa", "b"), "\tassert_test.go:52: got aaa which does not match b\n"; got != want { + t.Fatalf("got %q want %q", got, want) + } +} -- cgit v1.2.3-1-g7c22