Skip to content

Commit

Permalink
Using new testify package
Browse files Browse the repository at this point in the history
  • Loading branch information
mrz1836 committed Nov 17, 2020
1 parent 1f4aa3f commit 0d63936
Show file tree
Hide file tree
Showing 6 changed files with 108 additions and 194 deletions.
2 changes: 2 additions & 0 deletions go.mod
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
module github.com/mrz1836/go-logger

go 1.15

require github.com/stretchr/testify v1.6.1
11 changes: 11 additions & 0 deletions go.sum
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8=
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/testify v1.6.1 h1:hDPOHmpOpP40lSULcqw7IrRb/u7w6RpDC9399XyoNd0=
github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c h1:dUUwHk2QECo/6vqA44rthZ8ie2QXMNeKRTHCNY2nXvo=
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
109 changes: 38 additions & 71 deletions log_entries_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,68 +6,53 @@ import (
"os/exec"
"testing"
"time"

"github.com/stretchr/testify/assert"
)

const testToken = "token"

// TestNewLogEntriesClient will test the NewLogEntriesClient() method
func TestNewLogEntriesClient(t *testing.T) {
client, err := NewLogEntriesClient(testToken, LogEntriesURL, LogEntriesPort)
if err != nil {
t.Fatalf("error should have not occurred: %s", err.Error())
}

if client.port != LogEntriesPort {
t.Fatalf("[%s] expect [%s] result", LogEntriesPort, client.port)
}

if client.endpoint != LogEntriesURL {
t.Fatalf("[%s] expect [%s] result", LogEntriesURL, client.endpoint)
}
assert.NoError(t, err)
assert.NotNil(t, client)

if client.token != testToken {
t.Fatalf("[%s] expect [%s] result", testToken, client.token)
}
assert.Equal(t, LogEntriesPort, client.port)
assert.Equal(t, LogEntriesURL, client.endpoint)
assert.Equal(t, testToken, client.token)

_, err = NewLogEntriesClient("token", LogEntriesURL, "101010")
if err == nil {
t.Fatalf("error should have occurred")
}
client, err = NewLogEntriesClient("token", LogEntriesURL, "101010")
assert.Error(t, err)
assert.NotNil(t, client)

_, err = NewLogEntriesClient("token", "http://badurl.com", LogEntriesPort)
if err == nil {
t.Fatalf("error should have occurred")
}
client, err = NewLogEntriesClient("token", "http://badurl.com", LogEntriesPort)
assert.Error(t, err)
assert.NotNil(t, client)

// Double open
_, err = NewLogEntriesClient(testToken, LogEntriesURL, LogEntriesPort)
if err != nil {
t.Fatalf("error should have not occurred: %s", err.Error())
}
client, err = NewLogEntriesClient(testToken, LogEntriesURL, LogEntriesPort)
assert.NoError(t, err)
assert.NotNil(t, client)
}

// TestMsgQueue_Enqueue will test the Enqueue() method
func TestMsgQueue_Enqueue(t *testing.T) {

client, err := NewLogEntriesClient(testToken, LogEntriesURL, LogEntriesPort)
if err != nil {
t.Fatalf("error should have not occurred: %s", err.Error())
}
assert.NoError(t, err)
assert.NotNil(t, client)

var buff bytes.Buffer
buff.WriteString(testToken)
buff.WriteByte(' ')
buff.WriteString("test")
client.messages.Enqueue(&buff)

if len(client.messages.messagesToSend) == 0 {
t.Fatalf("missing messages to send: %v", client.messages.messagesToSend)
}
assert.Equal(t, 1, len(client.messages.messagesToSend))

for x := range client.messages.messagesToSend {
if x.String() != testToken+" test" {
t.Fatalf("[%s] expect [%s] result", testToken+" test", x.String())
}
assert.Equal(t, testToken+" test", x.String())
close(client.messages.messagesToSend)
}
}
Expand All @@ -76,9 +61,8 @@ func TestMsgQueue_Enqueue(t *testing.T) {
func TestMsgQueue_PushFront(t *testing.T) {

client, err := NewLogEntriesClient(testToken, LogEntriesURL, LogEntriesPort)
if err != nil {
t.Fatalf("error should have not occurred: %s", err.Error())
}
assert.NoError(t, err)
assert.NotNil(t, client)

var buff bytes.Buffer
buff.WriteString(testToken)
Expand All @@ -92,9 +76,7 @@ func TestMsgQueue_PushFront(t *testing.T) {
buff2.WriteString("first")
client.messages.PushFront(&buff2)

if len(client.messages.messagesToSend) == 0 {
t.Fatalf("missing messages to send: %v", client.messages.messagesToSend)
}
assert.Equal(t, 2, len(client.messages.messagesToSend))

go func() {
close(client.messages.messagesToSend)
Expand All @@ -105,18 +87,15 @@ func TestMsgQueue_PushFront(t *testing.T) {
finalString += x.String()
}

if finalString != testToken+" first"+testToken+" test" {
t.Fatalf("[%s] expect [%s] result", testToken+" first"+testToken+" test", finalString)
}
assert.Equal(t, testToken+" first"+testToken+" test", finalString)
}

// TestLogClient_ProcessQueue will test the ProcessQueue() method
func TestLogClient_ProcessQueue(t *testing.T) {

client, err := NewLogEntriesClient(testToken, LogEntriesURL, LogEntriesPort)
if err != nil {
t.Fatalf("error should have not occurred: %s", err.Error())
}
assert.NoError(t, err)
assert.NotNil(t, client)

go client.ProcessQueue()

Expand All @@ -128,39 +107,31 @@ func TestLogClient_ProcessQueue(t *testing.T) {

time.Sleep(3 * time.Second)

if len(client.messages.messagesToSend) > 0 {
t.Fatal("no messages should be in queue", len(client.messages.messagesToSend))
}
assert.Equal(t, 0, len(client.messages.messagesToSend))
}

// TestLogClient_Println will test the Println() method
func TestLogClient_Println(t *testing.T) {

client, err := NewLogEntriesClient(testToken, LogEntriesURL, LogEntriesPort)
if err != nil {
t.Fatalf("error should have not occurred: %s", err.Error())
}
assert.NoError(t, err)
assert.NotNil(t, client)

client.Println("test", "this")

if len(client.messages.messagesToSend) == 0 {
t.Fatal("expected message to send")
}
assert.Equal(t, 1, len(client.messages.messagesToSend))
}

// TestLogClient_Printf will test the Printf() method
func TestLogClient_Printf(t *testing.T) {

client, err := NewLogEntriesClient(testToken, LogEntriesURL, LogEntriesPort)
if err != nil {
t.Fatalf("error should have not occurred: %s", err.Error())
}
assert.NoError(t, err)
assert.NotNil(t, client)

client.Printf("test %d", 1)

if len(client.messages.messagesToSend) == 0 {
t.Fatal("expected message to send")
}
assert.Equal(t, 1, len(client.messages.messagesToSend))

go func() {
close(client.messages.messagesToSend)
Expand All @@ -171,18 +142,15 @@ func TestLogClient_Printf(t *testing.T) {
finalString += x.String()
}

if finalString != testToken+" test 1" {
t.Fatalf("[%s] expect [%s] result", testToken+" test 1", finalString)
}
assert.Equal(t, testToken+" test 1", finalString)
}

// TestLogClient_Fatalf will test the Fatalf() method
func TestLogClient_Fatalf(t *testing.T) {

client, err := NewLogEntriesClient(testToken, LogEntriesURL, LogEntriesPort)
if err != nil {
t.Fatalf("error should have not occurred: %s", err.Error())
}
assert.NoError(t, err)
assert.NotNil(t, client)

if os.Getenv("EXIT_FUNCTION") == "1" {
client.Fatalf("test %d", 1)
Expand All @@ -201,9 +169,8 @@ func TestLogClient_Fatalf(t *testing.T) {
func TestLogClient_Fatalln(t *testing.T) {

client, err := NewLogEntriesClient(testToken, LogEntriesURL, LogEntriesPort)
if err != nil {
t.Fatalf("error should have not occurred: %s", err.Error())
}
assert.NoError(t, err)
assert.NotNil(t, client)

if os.Getenv("EXIT_FUNCTION") == "1" {
client.Fatalln("test exit")
Expand Down
5 changes: 5 additions & 0 deletions logger.go
Original file line number Diff line number Diff line change
Expand Up @@ -99,6 +99,11 @@ func SetImplementation(impl Logger) {
implementation = impl
}

// GetImplementation gets the current logger implementation
func GetImplementation() Logger {
return implementation
}

// FileTag tag file
func FileTag(level int) string {
comps := FileTagComponents(level + 1)
Expand Down
Loading

0 comments on commit 0d63936

Please sign in to comment.