Skip to content

Commit cb8e088

Browse files
committed
make lib w/ no dep to mainflux
1 parent 58cafc6 commit cb8e088

138 files changed

Lines changed: 412 additions & 14171 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@ logging and debugging and various other purposes.
66

77
## Usage
88
```bash
9-
go get github.com/mainflux/mproxy
10-
cd $(GOPATH)/github.com/mainflux/mproxy
9+
go get github.com/objenious/mproxy
10+
cd $(GOPATH)/github.com/objenious/mproxy
1111
make
1212
./mproxy
1313
```

cmd/main.go

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,12 @@ import (
1010
"strconv"
1111
"syscall"
1212

13-
mflog "github.com/mainflux/mainflux/logger"
14-
"github.com/mainflux/mproxy/examples/simple"
15-
"github.com/mainflux/mproxy/pkg/mqtt"
16-
"github.com/mainflux/mproxy/pkg/session"
17-
mptls "github.com/mainflux/mproxy/pkg/tls"
18-
"github.com/mainflux/mproxy/pkg/websocket"
13+
mflog "github.com/objenious/mproxy/logger"
14+
"github.com/objenious/mproxy/examples/simple"
15+
"github.com/objenious/mproxy/pkg/mqtt"
16+
"github.com/objenious/mproxy/pkg/session"
17+
mptls "github.com/objenious/mproxy/pkg/tls"
18+
"github.com/objenious/mproxy/pkg/websocket"
1919
)
2020

2121
const (

examples/simple/simple.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@ import (
44
"fmt"
55
"strings"
66

7-
"github.com/mainflux/mainflux/logger"
8-
"github.com/mainflux/mproxy/pkg/session"
7+
"github.com/objenious/mproxy/logger"
8+
"github.com/objenious/mproxy/pkg/session"
99
)
1010

1111
var _ session.Handler = (*Handler)(nil)

go.mod

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
1-
module github.com/mainflux/mproxy
1+
module github.com/objenious/mproxy
22

33
go 1.14
44

55
require (
66
github.com/eclipse/paho.mqtt.golang v1.2.0
7+
github.com/go-kit/kit v0.10.0
78
github.com/google/uuid v1.1.1
89
github.com/gorilla/websocket v1.4.2
9-
github.com/mainflux/mainflux v0.11.1-0.20200603183352-7f3e2c1b21ed
10-
google.golang.org/genproto v0.0.0-20200604104852-0b0486081ffb // indirect
10+
github.com/stretchr/testify v1.6.0
1111
)

go.sum

Lines changed: 1 addition & 514 deletions
Large diffs are not rendered by default.

vendor/github.com/mainflux/mainflux/logger/doc.go renamed to logger/doc.go

File renamed without changes.

vendor/github.com/mainflux/mainflux/logger/level.go renamed to logger/level.go

File renamed without changes.

logger/level_test.go

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
package logger
2+
3+
import (
4+
"fmt"
5+
"github.com/stretchr/testify/assert"
6+
"testing"
7+
)
8+
9+
func TestUnmarshalText(t *testing.T) {
10+
cases := map[string]struct {
11+
input string
12+
output Level
13+
err error
14+
}{
15+
"select log level Not_A_Level": {"Not_A_Level", 0, ErrInvalidLogLevel},
16+
"select log level Bad_Input": {"Bad_Input", 0, ErrInvalidLogLevel},
17+
18+
"select log level debug": {"debug", Debug, nil},
19+
"select log level DEBUG": {"DEBUG", Debug, nil},
20+
"select log level info": {"info", Info, nil},
21+
"select log level INFO": {"INFO", Info, nil},
22+
"select log level warn": {"warn", Warn, nil},
23+
"select log level WARN": {"WARN", Warn, nil},
24+
"select log level Error": {"Error", Error, nil},
25+
"select log level ERROR": {"ERROR", Error, nil},
26+
}
27+
28+
for desc, tc := range cases {
29+
var logLevel Level
30+
err := logLevel.UnmarshalText(tc.input)
31+
assert.Equal(t, tc.output, logLevel, fmt.Sprintf("%s: expected %s got %d", desc, tc.output, logLevel))
32+
assert.Equal(t, tc.err, err, fmt.Sprintf("%s: expected %s got %d", desc, tc.err, err))
33+
34+
}
35+
36+
}
37+
38+
func TestLevelIsAllowed(t *testing.T) {
39+
cases := map[string]struct {
40+
requestedLevel Level
41+
allowedLevel Level
42+
output bool
43+
}{
44+
"log debug when level debug": {Debug, Debug, true},
45+
"log info when level debug": {Info, Debug, true},
46+
"log warn when level debug": {Warn, Debug, true},
47+
"log error when level debug": {Error, Debug, true},
48+
"log warn when level info": {Warn, Info, true},
49+
"log error when level warn": {Error, Warn, true},
50+
"log error when level error": {Error, Error, true},
51+
52+
"log debug when level error": {Debug, Error, false},
53+
"log info when level error": {Info, Error, false},
54+
"log warn when level error": {Warn, Error, false},
55+
"log debug when level warn": {Debug, Warn, false},
56+
"log info when level warn": {Info, Warn, false},
57+
"log debug when level info": {Debug, Info, false},
58+
}
59+
for desc, tc := range cases {
60+
result := tc.requestedLevel.isAllowed(tc.allowedLevel)
61+
assert.Equal(t, tc.output, result, fmt.Sprintf("%s: expected %t got %t", desc, tc.output, result))
62+
}
63+
}

vendor/github.com/mainflux/mainflux/logger/logger.go renamed to logger/logger.go

File renamed without changes.

logger/logger_test.go

Lines changed: 126 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,126 @@
1+
// Copyright (c) Mainflux
2+
// SPDX-License-Identifier: Apache-2.0
3+
4+
package logger_test
5+
6+
import (
7+
"encoding/json"
8+
"fmt"
9+
"io"
10+
"testing"
11+
12+
log "github.com/objenious/mproxy/logger"
13+
"github.com/stretchr/testify/assert"
14+
)
15+
16+
var _ io.Writer = (*mockWriter)(nil)
17+
var writer mockWriter
18+
var logger log.Logger
19+
var err error
20+
var output logMsg
21+
22+
type mockWriter struct {
23+
value []byte
24+
}
25+
26+
func (writer *mockWriter) Write(p []byte) (int, error) {
27+
writer.value = p
28+
return len(p), nil
29+
}
30+
31+
func (writer *mockWriter) Read() (logMsg, error) {
32+
var output logMsg
33+
err := json.Unmarshal(writer.value, &output)
34+
return output, err
35+
}
36+
37+
type logMsg struct {
38+
Level string `json:"level"`
39+
Message string `json:"message"`
40+
}
41+
42+
func TestDebug(t *testing.T) {
43+
cases := map[string]struct {
44+
input string
45+
logLevel string
46+
output logMsg
47+
}{
48+
"debug log ordinary string": {"input_string", log.Debug.String(), logMsg{log.Debug.String(), "input_string"}},
49+
"debug log empty string": {"", log.Debug.String(), logMsg{log.Debug.String(), ""}},
50+
"debug ordinary string lvl not allowed": {"input_string", log.Info.String(), logMsg{"", ""}},
51+
"debug empty string lvl not allowed": {"", log.Info.String(), logMsg{"", ""}},
52+
}
53+
54+
for desc, tc := range cases {
55+
writer = mockWriter{}
56+
logger, err = log.New(&writer, tc.logLevel)
57+
assert.Nil(t, err, fmt.Sprintf("%s: unexpected error %s", desc, err))
58+
logger.Debug(tc.input)
59+
output, err = writer.Read()
60+
assert.Equal(t, tc.output, output, fmt.Sprintf("%s: expected %s got %s", desc, tc.output, output))
61+
}
62+
}
63+
64+
func TestInfo(t *testing.T) {
65+
cases := map[string]struct {
66+
input string
67+
logLevel string
68+
output logMsg
69+
}{
70+
"info log ordinary string": {"input_string", log.Info.String(), logMsg{log.Info.String(), "input_string"}},
71+
"info log empty string": {"", log.Info.String(), logMsg{log.Info.String(), ""}},
72+
"info ordinary string lvl not allowed": {"input_string", log.Warn.String(), logMsg{"", ""}},
73+
"info empty string lvl not allowed": {"", log.Warn.String(), logMsg{"", ""}},
74+
}
75+
76+
for desc, tc := range cases {
77+
writer = mockWriter{}
78+
logger, err = log.New(&writer, tc.logLevel)
79+
assert.Nil(t, err, fmt.Sprintf("%s: unexpected error %s", desc, err))
80+
logger.Info(tc.input)
81+
output, err = writer.Read()
82+
assert.Equal(t, tc.output, output, fmt.Sprintf("%s: expected %s got %s", desc, tc.output, output))
83+
}
84+
}
85+
86+
func TestWarn(t *testing.T) {
87+
cases := map[string]struct {
88+
input string
89+
logLevel string
90+
output logMsg
91+
}{
92+
"warn log ordinary string": {"input_string", log.Warn.String(), logMsg{log.Warn.String(), "input_string"}},
93+
"warn log empty string": {"", log.Warn.String(), logMsg{log.Warn.String(), ""}},
94+
"warn ordinary string lvl not allowed": {"input_string", log.Error.String(), logMsg{"", ""}},
95+
"warn empty string lvl not allowed": {"", log.Error.String(), logMsg{"", ""}},
96+
}
97+
98+
for desc, tc := range cases {
99+
writer = mockWriter{}
100+
logger, err = log.New(&writer, tc.logLevel)
101+
assert.Nil(t, err, fmt.Sprintf("%s: unexpected error %s", desc, err))
102+
logger.Warn(tc.input)
103+
output, err = writer.Read()
104+
assert.Equal(t, tc.output, output, fmt.Sprintf("%s: expected %s got %s", desc, tc.output, output))
105+
}
106+
}
107+
108+
func TestError(t *testing.T) {
109+
cases := map[string]struct {
110+
input string
111+
output logMsg
112+
}{
113+
"error log ordinary string": {"input_string", logMsg{log.Error.String(), "input_string"}},
114+
"error log empty string": {"", logMsg{log.Error.String(), ""}},
115+
}
116+
117+
writer := mockWriter{}
118+
logger, _ := log.New(&writer, log.Error.String())
119+
120+
for desc, tc := range cases {
121+
logger.Error(tc.input)
122+
output, err := writer.Read()
123+
assert.Nil(t, err, fmt.Sprintf("%s: unexpected error %s", desc, err))
124+
assert.Equal(t, tc.output, output, fmt.Sprintf("%s: expected %s got %s", desc, tc.output, output))
125+
}
126+
}

0 commit comments

Comments
 (0)