From b1247d2d0d51108c910a73891ff3116e5f032ab1 Mon Sep 17 00:00:00 2001 From: "Kali Kaneko (leap communications)" Date: Sat, 12 Jan 2019 18:39:45 +0100 Subject: [pkg] all your deps are vendored to us --- vendor/github.com/getlantern/ops/ops_test.go | 76 ++++++++++++++++++++++++++++ 1 file changed, 76 insertions(+) create mode 100644 vendor/github.com/getlantern/ops/ops_test.go (limited to 'vendor/github.com/getlantern/ops/ops_test.go') diff --git a/vendor/github.com/getlantern/ops/ops_test.go b/vendor/github.com/getlantern/ops/ops_test.go new file mode 100644 index 0000000..1c16e73 --- /dev/null +++ b/vendor/github.com/getlantern/ops/ops_test.go @@ -0,0 +1,76 @@ +package ops_test + +import ( + "sync" + "testing" + + "github.com/getlantern/errors" + "github.com/getlantern/ops" + "github.com/stretchr/testify/assert" +) + +func TestSuccess(t *testing.T) { + var reportedFailure error + var reportedCtx map[string]interface{} + report := func(failure error, ctx map[string]interface{}) { + reportedFailure = failure + reportedCtx = ctx + } + + ops.RegisterReporter(report) + ops.SetGlobal("g", "g1") + op := ops.Begin("test_success").Set("a", 1).SetDynamic("b", func() interface{} { return 2 }) + defer op.End() + innerOp := op.Begin("inside") + innerOp.FailIf(nil) + innerOp.End() + + assert.Nil(t, reportedFailure) + expectedCtx := map[string]interface{}{ + "op": "inside", + "root_op": "test_success", + "g": "g1", + "a": 1, + "b": 2, + } + assert.Equal(t, expectedCtx, reportedCtx) +} + +func TestFailure(t *testing.T) { + doTestFailure(t, false) +} + +func TestCancel(t *testing.T) { + doTestFailure(t, true) +} + +func doTestFailure(t *testing.T, cancel bool) { + var reportedFailure error + var reportedCtx map[string]interface{} + report := func(failure error, ctx map[string]interface{}) { + reportedFailure = failure + reportedCtx = ctx + } + + ops.RegisterReporter(report) + op := ops.Begin("test_failure") + var wg sync.WaitGroup + wg.Add(1) + op.Go(func() { + op.FailIf(errors.New("I failed").With("errorcontext", 5)) + wg.Done() + }) + wg.Wait() + if cancel { + op.Cancel() + } + op.End() + + if cancel { + assert.Nil(t, reportedFailure) + assert.Nil(t, reportedCtx) + } else { + assert.Contains(t, reportedFailure.Error(), "I failed") + assert.Equal(t, 5, reportedCtx["errorcontext"]) + } +} -- cgit v1.2.3