@@ -10,9 +10,9 @@ import (
10
10
"time"
11
11
12
12
"github.com/qa-dev/universe/event"
13
+ "github.com/qa-dev/universe/keeper"
13
14
"github.com/stretchr/testify/assert"
14
15
"gopkg.in/mgo.v2"
15
- "gopkg.in/mgo.v2/bson"
16
16
)
17
17
18
18
type FakeClosingBuffer struct {
@@ -44,6 +44,7 @@ func (c FakePostClient) Do(r *http.Request) (*http.Response, error) {
44
44
return response , nil
45
45
}
46
46
47
+ var kpr * keeper.Keeper
47
48
var database * mgo.Database
48
49
49
50
func init () {
@@ -53,85 +54,87 @@ func init() {
53
54
panic ("cant connect mongo" )
54
55
}
55
56
database = session .DB ("test_plugin_web" )
56
- database .DropDatabase ()
57
+ kpr = keeper .NewKeeper (session )
58
+ kpr .SetCustomDatabaseName ("test_plugin_web" )
57
59
}
58
60
59
61
func TestNewPluginWeb (t * testing.T ) {
60
- c := database .C ("test_new_plugin_web" )
61
- p := NewPluginWeb (c )
62
- assert .NotNil (t , p .collection )
62
+ p := NewPluginWeb (kpr )
63
+ assert .NotNil (t , p .keeper )
63
64
}
64
65
65
66
func TestPluginWeb_GetPluginInfo (t * testing.T ) {
66
- c := database .C ("test_plugin_web_get_plugin_info" )
67
- p := NewPluginWeb (c )
67
+ p := NewPluginWeb (kpr )
68
68
assert .Equal (t , "web" , p .GetPluginInfo ().Tag )
69
69
assert .Equal (t , "Web" , p .GetPluginInfo ().Name )
70
70
}
71
71
72
72
func TestPluginWeb_Subscribe (t * testing.T ) {
73
- c := database .C ( "test_plugin_web_subscribe" )
74
- p := NewPluginWeb (c )
73
+ database .DropDatabase ( )
74
+ p := NewPluginWeb (kpr )
75
75
inJson := []byte (`{"event_name": "test", "url": "hello"}` )
76
76
err := p .Subscribe (inJson )
77
77
assert .NoError (t , err )
78
- resCount , err := c .Find (bson.M {"eventname" : "test" }).Count ()
78
+ var result []SubscribeData
79
+ err = kpr .GetSubscribers (PluginTag , & result )
79
80
assert .NoError (t , err )
80
- assert .Equal (t , 1 , resCount )
81
+ assert .Equal (t , 1 , len ( result ) )
81
82
}
82
83
83
84
func TestPluginWeb_Subscribe_WrongInput (t * testing.T ) {
84
- c := database .C ("test_plugin_web_wrong_input" )
85
- p := NewPluginWeb (c )
85
+ p := NewPluginWeb (kpr )
86
86
inJson := []byte ("{}" )
87
87
err := p .Subscribe (inJson )
88
88
assert .Error (t , err )
89
89
}
90
90
91
91
func TestPluginWeb_Unsubscribe (t * testing.T ) {
92
- c := database .C ( "test_plugin_web_unsubscribe" )
93
- p := NewPluginWeb (c )
92
+ database .DropDatabase ( )
93
+ p := NewPluginWeb (kpr )
94
94
inJson := []byte (`{"event_name": "test", "url": "hello"}` )
95
95
err := p .Subscribe (inJson )
96
96
assert .NoError (t , err )
97
- resCount , err := c .Find (bson.M {"eventname" : "test" }).Count ()
97
+ var result []SubscribeData
98
+ err = kpr .GetSubscribers (PluginTag , & result )
98
99
assert .NoError (t , err )
99
- assert .Equal (t , 1 , resCount )
100
+ assert .Equal (t , 1 , len ( result ) )
100
101
err = p .Unsubscribe (inJson )
101
102
assert .NoError (t , err )
102
- resCount , err = c .Find (bson.M {"eventname" : "test" }).Count ()
103
+ result = nil
104
+ err = kpr .GetSubscribers (PluginTag , & result )
103
105
assert .NoError (t , err )
104
- assert .Equal (t , 0 , resCount )
106
+ assert .Equal (t , 0 , len ( result ) )
105
107
}
106
108
107
109
func TestPluginWeb_Unsubscribe_WrongInput (t * testing.T ) {
108
- c := database .C ("test_plugin_web_unsubscribe_wrong_input" )
109
- p := NewPluginWeb (c )
110
+ p := NewPluginWeb (kpr )
110
111
inJson := []byte ("{}" )
111
112
err := p .Unsubscribe (inJson )
112
113
assert .Error (t , err )
113
114
}
114
115
115
116
func TestPluginWeb_Unsubscribe_NonExistentSubscriber (t * testing.T ) {
116
- c := database .C ( "test_plugin_web_non_existent_subscriber" )
117
- p := NewPluginWeb (c )
117
+ database .DropDatabase ( )
118
+ p := NewPluginWeb (kpr )
118
119
subscribeJson := []byte (`{"event_name": "test", "url": "hello"}` )
119
120
err := p .Subscribe (subscribeJson )
120
121
assert .NoError (t , err )
121
- resCount , err := c .Find (bson.M {"eventname" : "test" }).Count ()
122
+ var result []SubscribeData
123
+ err = kpr .GetSubscribers (PluginTag , & result )
122
124
assert .NoError (t , err )
123
- assert .Equal (t , 1 , resCount )
125
+ assert .Equal (t , 1 , len ( result ) )
124
126
unsubscribeJson := []byte (`{"event_name": "test", "url": "bye"}` )
125
127
err = p .Unsubscribe (unsubscribeJson )
126
128
assert .Error (t , err )
127
- resCount , err = c .Find (bson.M {"eventname" : "test" }).Count ()
129
+ result = nil
130
+ err = kpr .GetSubscribers (PluginTag , & result )
128
131
assert .NoError (t , err )
129
- assert .Equal (t , 1 , resCount )
132
+ assert .Equal (t , 1 , len ( result ) )
130
133
}
131
134
132
135
func TestPluginWeb_ProcessEvent (t * testing.T ) {
133
- c := database .C ( "test_plugin_web_process_event" )
134
- p := NewPluginWeb (c )
136
+ database .DropDatabase ( )
137
+ p := NewPluginWeb (kpr )
135
138
expectedUrl := "test_url"
136
139
expectedData := []byte (`{"hello": "world"}` )
137
140
fakeClient := FakePostClient {t , expectedUrl , expectedData }
0 commit comments