interapp 1.0.1 → 6.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/interapp/version.rb +1 -1
- data/spec/dummy/log/test.log +287 -0
- data/spec/models/message_spec.rb +16 -16
- data/spec/requests/interapp_spec.rb +33 -34
- data/spec/spec_helper.rb +2 -3
- metadata +25 -23
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9eeabb5748667c0cb614f7d41aff22cbc3bffa34f0d21008f9f697b9c74b9bf7
|
4
|
+
data.tar.gz: 8bb5636d99624fab81291e54d33d1ec833bec95176b2a30e5903cfae79d5eb45
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ca0455b56b3d26db61328084ec371de9e5e39db7c4900568401cbc46bee849b0bc35241f0628ad95d21a750c1e16fe477094b0aea4b85e98265d63caed1cb8ff
|
7
|
+
data.tar.gz: 93bef7f5ca4b85b89d13c357daee37b3e7d1f8c424f4abab7591707f2a52056926b44b966c29045dd4dc6c26f974a444d819162a55c2aebc47c48480d97466f7
|
data/lib/interapp/version.rb
CHANGED
@@ -0,0 +1,287 @@
|
|
1
|
+
[1m[35m (1.8ms)[0m [1m[34mSELECT sqlite_version(*)[0m
|
2
|
+
[1m[35m (0.2ms)[0m [1m[36mbegin transaction[0m
|
3
|
+
[1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
|
4
|
+
[1m[35m (0.1ms)[0m [1m[36mbegin transaction[0m
|
5
|
+
[1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
|
6
|
+
[1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
|
7
|
+
[1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
|
8
|
+
[1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
|
9
|
+
[1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
|
10
|
+
[1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
|
11
|
+
[1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
|
12
|
+
[1m[35m (0.1ms)[0m [1m[36mbegin transaction[0m
|
13
|
+
[1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
|
14
|
+
[1m[35m (0.1ms)[0m [1m[36mbegin transaction[0m
|
15
|
+
[1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
|
16
|
+
[1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
|
17
|
+
[1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
|
18
|
+
[1m[35m (0.1ms)[0m [1m[36mbegin transaction[0m
|
19
|
+
[1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
|
20
|
+
[1m[35m (0.1ms)[0m [1m[36mbegin transaction[0m
|
21
|
+
[1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
|
22
|
+
[1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
|
23
|
+
[1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
|
24
|
+
[1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
|
25
|
+
[1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
|
26
|
+
[1m[35m (0.1ms)[0m [1m[36mbegin transaction[0m
|
27
|
+
[1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
|
28
|
+
[1m[35m (0.1ms)[0m [1m[36mbegin transaction[0m
|
29
|
+
[1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
|
30
|
+
[1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
|
31
|
+
[1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
|
32
|
+
[1m[35m (0.1ms)[0m [1m[36mbegin transaction[0m
|
33
|
+
[1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
|
34
|
+
[1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
|
35
|
+
[1m[35m (0.2ms)[0m [1m[31mrollback transaction[0m
|
36
|
+
[1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
|
37
|
+
[1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
|
38
|
+
[1m[35m (0.8ms)[0m [1m[34mSELECT sqlite_version(*)[0m
|
39
|
+
[1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
|
40
|
+
[1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
|
41
|
+
[1m[35m (0.1ms)[0m [1m[36mbegin transaction[0m
|
42
|
+
[1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
|
43
|
+
[1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
|
44
|
+
[1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
|
45
|
+
[1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
|
46
|
+
[1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
|
47
|
+
[1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
|
48
|
+
[1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
|
49
|
+
[1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
|
50
|
+
[1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
|
51
|
+
[1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
|
52
|
+
[1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
|
53
|
+
[1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
|
54
|
+
[1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
|
55
|
+
[1m[35m (0.1ms)[0m [1m[36mbegin transaction[0m
|
56
|
+
[1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
|
57
|
+
[1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
|
58
|
+
[1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
|
59
|
+
[1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
|
60
|
+
[1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
|
61
|
+
[1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
|
62
|
+
[1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
|
63
|
+
[1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
|
64
|
+
[1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
|
65
|
+
[1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
|
66
|
+
[1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
|
67
|
+
[1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
|
68
|
+
[1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
|
69
|
+
[1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
|
70
|
+
[1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
|
71
|
+
[1m[35m (0.1ms)[0m [1m[36mbegin transaction[0m
|
72
|
+
[1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
|
73
|
+
[1m[35m (0.1ms)[0m [1m[36mbegin transaction[0m
|
74
|
+
[1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
|
75
|
+
[1m[35m (1.5ms)[0m [1m[34mSELECT sqlite_version(*)[0m
|
76
|
+
[1m[35m (0.1ms)[0m [1m[36mbegin transaction[0m
|
77
|
+
[1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
|
78
|
+
[1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
|
79
|
+
[1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
|
80
|
+
[1m[35m (0.1ms)[0m [1m[36mbegin transaction[0m
|
81
|
+
[1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
|
82
|
+
[1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
|
83
|
+
[1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
|
84
|
+
[1m[35m (0.1ms)[0m [1m[36mbegin transaction[0m
|
85
|
+
[1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
|
86
|
+
[1m[35m (0.1ms)[0m [1m[36mbegin transaction[0m
|
87
|
+
[1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
|
88
|
+
[1m[35m (0.1ms)[0m [1m[36mbegin transaction[0m
|
89
|
+
[1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
|
90
|
+
[1m[35m (0.1ms)[0m [1m[36mbegin transaction[0m
|
91
|
+
[1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
|
92
|
+
[1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
|
93
|
+
[1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
|
94
|
+
[1m[35m (0.1ms)[0m [1m[36mbegin transaction[0m
|
95
|
+
[1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
|
96
|
+
[1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
|
97
|
+
[1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
|
98
|
+
[1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
|
99
|
+
[1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
|
100
|
+
[1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
|
101
|
+
[1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
|
102
|
+
[1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
|
103
|
+
[1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
|
104
|
+
[1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
|
105
|
+
[1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
|
106
|
+
[1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
|
107
|
+
[1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
|
108
|
+
[1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
|
109
|
+
[1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
|
110
|
+
[1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
|
111
|
+
[1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
|
112
|
+
[1m[35m (0.8ms)[0m [1m[34mSELECT sqlite_version(*)[0m
|
113
|
+
[1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
|
114
|
+
[1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
|
115
|
+
[1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
|
116
|
+
[1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
|
117
|
+
[1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
|
118
|
+
[1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
|
119
|
+
[1m[35m (0.1ms)[0m [1m[36mbegin transaction[0m
|
120
|
+
[1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
|
121
|
+
[1m[35m (0.1ms)[0m [1m[36mbegin transaction[0m
|
122
|
+
[1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
|
123
|
+
[1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
|
124
|
+
[1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
|
125
|
+
[1m[35m (0.1ms)[0m [1m[36mbegin transaction[0m
|
126
|
+
[1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
|
127
|
+
[1m[35m (0.1ms)[0m [1m[36mbegin transaction[0m
|
128
|
+
[1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
|
129
|
+
[1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
|
130
|
+
[1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
|
131
|
+
[1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
|
132
|
+
[1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
|
133
|
+
[1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
|
134
|
+
[1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
|
135
|
+
[1m[35m (0.1ms)[0m [1m[36mbegin transaction[0m
|
136
|
+
[1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
|
137
|
+
[1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
|
138
|
+
[1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
|
139
|
+
[1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
|
140
|
+
[1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
|
141
|
+
[1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
|
142
|
+
[1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
|
143
|
+
[1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
|
144
|
+
[1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
|
145
|
+
[1m[35m (0.1ms)[0m [1m[36mbegin transaction[0m
|
146
|
+
[1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
|
147
|
+
[1m[35m (0.1ms)[0m [1m[36mbegin transaction[0m
|
148
|
+
[1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
|
149
|
+
[1m[35m (0.7ms)[0m [1m[34mSELECT sqlite_version(*)[0m
|
150
|
+
[1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
|
151
|
+
[1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
|
152
|
+
[1m[35m (0.1ms)[0m [1m[36mbegin transaction[0m
|
153
|
+
[1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
|
154
|
+
[1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
|
155
|
+
[1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
|
156
|
+
[1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
|
157
|
+
[1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
|
158
|
+
[1m[35m (0.1ms)[0m [1m[36mbegin transaction[0m
|
159
|
+
[1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
|
160
|
+
[1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
|
161
|
+
[1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
|
162
|
+
[1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
|
163
|
+
[1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
|
164
|
+
[1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
|
165
|
+
[1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
|
166
|
+
[1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
|
167
|
+
[1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
|
168
|
+
[1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
|
169
|
+
[1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
|
170
|
+
[1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
|
171
|
+
[1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
|
172
|
+
[1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
|
173
|
+
Started POST "/interapp" for 127.0.0.1 at 2019-09-05 16:36:13 +1000
|
174
|
+
Processing by Interapp::MessagesController#create as HTML
|
175
|
+
Parameters: {"test"=>["message", "payload"], "message"=>{"test"=>["message", "payload"]}}
|
176
|
+
Completed 200 OK in 136ms (Views: 0.2ms | ActiveRecord: 0.0ms | Allocations: 772877)
|
177
|
+
[1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
|
178
|
+
[1m[35m (0.1ms)[0m [1m[36mbegin transaction[0m
|
179
|
+
[1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
|
180
|
+
[1m[35m (0.1ms)[0m [1m[36mbegin transaction[0m
|
181
|
+
[1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
|
182
|
+
[1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
|
183
|
+
[1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
|
184
|
+
[1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
|
185
|
+
[1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
|
186
|
+
[1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
|
187
|
+
[1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
|
188
|
+
[1m[35m (0.1ms)[0m [1m[36mbegin transaction[0m
|
189
|
+
[1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
|
190
|
+
[1m[35m (1.3ms)[0m [1m[34mSELECT sqlite_version(*)[0m
|
191
|
+
[1m[35m (0.1ms)[0m [1m[36mbegin transaction[0m
|
192
|
+
Started POST "/interapp" for 127.0.0.1 at 2019-09-05 16:36:50 +1000
|
193
|
+
Processing by Interapp::MessagesController#create as HTML
|
194
|
+
Parameters: {"test"=>["message", "payload"], "message"=>{"test"=>["message", "payload"]}}
|
195
|
+
Completed 200 OK in 192ms (Views: 0.2ms | ActiveRecord: 0.0ms | Allocations: 774404)
|
196
|
+
[1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
|
197
|
+
[1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
|
198
|
+
Started POST "/interapp" for 127.0.0.1 at 2019-09-05 16:36:50 +1000
|
199
|
+
Processing by Interapp::MessagesController#create as HTML
|
200
|
+
Parameters: {"test"=>["message", "payload"], "message"=>{"test"=>["message", "payload"]}}
|
201
|
+
Completed 403 Forbidden in 0ms (Views: 0.1ms | ActiveRecord: 0.0ms | Allocations: 156)
|
202
|
+
[1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
|
203
|
+
[1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
|
204
|
+
Started POST "/interapp" for 127.0.0.1 at 2019-09-05 16:36:50 +1000
|
205
|
+
Processing by Interapp::MessagesController#create as HTML
|
206
|
+
Parameters: {"test"=>["message", "payload"], "message"=>{"test"=>["message", "payload"]}}
|
207
|
+
Completed 403 Forbidden in 0ms (Views: 0.1ms | ActiveRecord: 0.0ms | Allocations: 175)
|
208
|
+
[1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
|
209
|
+
[1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
|
210
|
+
[1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
|
211
|
+
[1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
|
212
|
+
[1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
|
213
|
+
[1m[35m (0.1ms)[0m [1m[36mbegin transaction[0m
|
214
|
+
[1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
|
215
|
+
[1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
|
216
|
+
[1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
|
217
|
+
[1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
|
218
|
+
[1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
|
219
|
+
[1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
|
220
|
+
[1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
|
221
|
+
[1m[35m (0.1ms)[0m [1m[36mbegin transaction[0m
|
222
|
+
[1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
|
223
|
+
[1m[35m (0.1ms)[0m [1m[36mbegin transaction[0m
|
224
|
+
[1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
|
225
|
+
[1m[35m (0.1ms)[0m [1m[36mbegin transaction[0m
|
226
|
+
[1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
|
227
|
+
[1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
|
228
|
+
[1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
|
229
|
+
[1m[35m (0.1ms)[0m [1m[36mbegin transaction[0m
|
230
|
+
[1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
|
231
|
+
[1m[35m (0.1ms)[0m [1m[36mbegin transaction[0m
|
232
|
+
[1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
|
233
|
+
[1m[35m (0.1ms)[0m [1m[36mbegin transaction[0m
|
234
|
+
[1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
|
235
|
+
[1m[35m (0.1ms)[0m [1m[36mbegin transaction[0m
|
236
|
+
[1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
|
237
|
+
[1m[35m (0.1ms)[0m [1m[36mbegin transaction[0m
|
238
|
+
[1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
|
239
|
+
[1m[35m (0.9ms)[0m [1m[34mSELECT sqlite_version(*)[0m
|
240
|
+
[1m[35m (0.1ms)[0m [1m[36mbegin transaction[0m
|
241
|
+
[1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
|
242
|
+
[1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
|
243
|
+
[1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
|
244
|
+
[1m[35m (0.1ms)[0m [1m[36mbegin transaction[0m
|
245
|
+
[1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
|
246
|
+
[1m[35m (0.1ms)[0m [1m[36mbegin transaction[0m
|
247
|
+
[1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
|
248
|
+
[1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
|
249
|
+
[1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
|
250
|
+
[1m[35m (0.1ms)[0m [1m[36mbegin transaction[0m
|
251
|
+
Started POST "/interapp" for 127.0.0.1 at 2019-09-05 16:37:16 +1000
|
252
|
+
Processing by Interapp::MessagesController#create as HTML
|
253
|
+
Parameters: {"test"=>["message", "payload"], "message"=>{"test"=>["message", "payload"]}}
|
254
|
+
Completed 403 Forbidden in 1ms (Views: 0.2ms | ActiveRecord: 0.0ms | Allocations: 273)
|
255
|
+
[1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
|
256
|
+
[1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
|
257
|
+
Started POST "/interapp" for 127.0.0.1 at 2019-09-05 16:37:16 +1000
|
258
|
+
Processing by Interapp::MessagesController#create as HTML
|
259
|
+
Parameters: {"test"=>["message", "payload"], "message"=>{"test"=>["message", "payload"]}}
|
260
|
+
Completed 403 Forbidden in 0ms (Views: 0.2ms | ActiveRecord: 0.0ms | Allocations: 150)
|
261
|
+
[1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
|
262
|
+
[1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
|
263
|
+
Started POST "/interapp" for 127.0.0.1 at 2019-09-05 16:37:16 +1000
|
264
|
+
Processing by Interapp::MessagesController#create as HTML
|
265
|
+
Parameters: {"test"=>["message", "payload"], "message"=>{"test"=>["message", "payload"]}}
|
266
|
+
Completed 200 OK in 139ms (Views: 0.1ms | ActiveRecord: 0.0ms | Allocations: 774087)
|
267
|
+
[1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
|
268
|
+
[1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
|
269
|
+
[1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
|
270
|
+
[1m[35m (0.1ms)[0m [1m[36mbegin transaction[0m
|
271
|
+
[1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
|
272
|
+
[1m[35m (0.1ms)[0m [1m[36mbegin transaction[0m
|
273
|
+
[1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
|
274
|
+
[1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
|
275
|
+
[1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
|
276
|
+
[1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
|
277
|
+
[1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
|
278
|
+
[1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
|
279
|
+
[1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
|
280
|
+
[1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
|
281
|
+
[1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
|
282
|
+
[1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
|
283
|
+
[1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
|
284
|
+
[1m[35m (0.1ms)[0m [1m[36mbegin transaction[0m
|
285
|
+
[1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
|
286
|
+
[1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
|
287
|
+
[1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
|
data/spec/models/message_spec.rb
CHANGED
@@ -3,51 +3,51 @@ require 'spec_helper'
|
|
3
3
|
describe Interapp::Message do
|
4
4
|
let(:payload) { '{ "test": ["message", "payload"] }' }
|
5
5
|
let(:keypair) { Interapp::Cryptography.generate_keypair }
|
6
|
-
let(:peer) { Interapp::Peer.new(identifier:
|
6
|
+
let(:peer) { Interapp::Peer.new(identifier: 'test_peer', public_key: keypair[1]) }
|
7
7
|
subject(:message) { described_class.new(payload: payload, peer: peer) }
|
8
8
|
|
9
|
-
describe
|
10
|
-
it
|
9
|
+
describe '.new' do
|
10
|
+
it 'stores payload and peer in instance variable' do
|
11
11
|
expect(subject.payload).to eq(payload)
|
12
12
|
expect(subject.peer).to eq(peer)
|
13
13
|
end
|
14
14
|
end
|
15
15
|
|
16
|
-
describe
|
17
|
-
context
|
16
|
+
describe '#verify' do
|
17
|
+
context 'with a valid signature' do
|
18
18
|
before do
|
19
|
-
subject.signature = Interapp::Cryptography.sign(payload, keypair[0].to_i(16)).unpack(
|
19
|
+
subject.signature = Interapp::Cryptography.sign(payload, keypair[0].to_i(16)).unpack('H*').first
|
20
20
|
end
|
21
21
|
|
22
|
-
it
|
23
|
-
expect(subject.verify).to
|
22
|
+
it 'verifies as true' do
|
23
|
+
expect(subject.verify).to be true
|
24
24
|
end
|
25
25
|
end
|
26
26
|
|
27
|
-
context
|
27
|
+
context 'with an invalid signature' do
|
28
28
|
before do
|
29
|
-
subject.signature = Interapp::Cryptography.sign(
|
29
|
+
subject.signature = Interapp::Cryptography.sign('foo bar baz', keypair[0].to_i(16)).unpack('H*').first
|
30
30
|
end
|
31
31
|
|
32
|
-
it
|
33
|
-
expect(subject.verify).to
|
32
|
+
it 'verifies as false' do
|
33
|
+
expect(subject.verify).to be false
|
34
34
|
end
|
35
35
|
end
|
36
36
|
end
|
37
37
|
|
38
|
-
describe
|
38
|
+
describe '#sign' do
|
39
39
|
before do
|
40
40
|
Interapp.configure { |config| config.private_key = keypair[0] }
|
41
41
|
subject.sign
|
42
42
|
end
|
43
43
|
|
44
|
-
it
|
44
|
+
it 'stores the signature in hex' do
|
45
45
|
expect(subject.signature).to be_present
|
46
46
|
expect(subject.signature).to be_a(String)
|
47
47
|
end
|
48
48
|
|
49
|
-
it
|
50
|
-
expect(subject.verify).to
|
49
|
+
it 'verifies against itself' do
|
50
|
+
expect(subject.verify).to be true
|
51
51
|
end
|
52
52
|
end
|
53
53
|
end
|
@@ -1,60 +1,59 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
|
-
describe
|
4
|
-
context
|
5
|
-
let(:payload) {
|
6
|
-
let(:signature) {
|
7
|
-
let(:identifier) {
|
3
|
+
describe 'POST /interapp', type: :request do
|
4
|
+
context 'with valid signature' do
|
5
|
+
let(:payload) { '{"test":["message","payload"]}' }
|
6
|
+
let(:signature) { '304502210096e30cdca8d21ccd425eef825216dd65edb3fc4b3a6b401a7010c653208e864202201b442c03037c8deb6e3ff27cc33f6ddc338e02923d45ada41b5d57ee7d4b8a4a' }
|
7
|
+
let(:identifier) { 'dummy' }
|
8
8
|
|
9
9
|
before do
|
10
|
-
@mock_handler = double(
|
10
|
+
@mock_handler = double('handler')
|
11
11
|
Interapp.configure do |config|
|
12
12
|
config.on_receive do |data, peer_identifier|
|
13
|
-
|
14
|
-
|
13
|
+
@mock_handler.receive(data, peer_identifier)
|
14
|
+
end
|
15
15
|
end
|
16
16
|
end
|
17
17
|
|
18
|
-
it
|
19
|
-
expect(@mock_handler).to receive(:receive).with({
|
20
|
-
post
|
21
|
-
|
22
|
-
|
23
|
-
|
18
|
+
it 'handles the message correctly' do
|
19
|
+
expect(@mock_handler).to receive(:receive).with({ 'test' => %w[message payload] }, 'dummy').and_return(dummy: 'response')
|
20
|
+
post '/interapp', params: payload, headers: {
|
21
|
+
'CONTENT_TYPE' => 'application/json',
|
22
|
+
'X-Interapp-Identifier' => identifier,
|
23
|
+
'X-Interapp-Signature' => signature
|
24
24
|
}
|
25
25
|
expect(response.status).to eq(200)
|
26
|
-
expect(response.body).to eq(
|
26
|
+
expect(response.body).to eq('{"dummy":"response"}')
|
27
27
|
end
|
28
28
|
end
|
29
29
|
|
30
|
-
context
|
31
|
-
let(:payload) {
|
32
|
-
let(:signature) {
|
33
|
-
let(:identifier) {
|
30
|
+
context 'with invalid signature' do
|
31
|
+
let(:payload) { '{"test":["message","payload"]}' }
|
32
|
+
let(:signature) { 'blahblahblah' }
|
33
|
+
let(:identifier) { 'dummy' }
|
34
34
|
|
35
|
-
it
|
36
|
-
post
|
37
|
-
|
38
|
-
|
39
|
-
|
35
|
+
it 'returns 403' do
|
36
|
+
post '/interapp', params: payload, headers: {
|
37
|
+
'CONTENT_TYPE' => 'application/json',
|
38
|
+
'X-Interapp-Identifier' => identifier,
|
39
|
+
'X-Interapp-Signature' => signature
|
40
40
|
}
|
41
41
|
expect(response.status).to eq(403)
|
42
42
|
end
|
43
43
|
end
|
44
44
|
|
45
|
-
context
|
46
|
-
let(:payload) {
|
47
|
-
let(:signature) {
|
48
|
-
let(:identifier) {
|
45
|
+
context 'with unknown peer' do
|
46
|
+
let(:payload) { '{"test":["message","payload"]}' }
|
47
|
+
let(:signature) { '304502210096e30cdca8d21ccd425eef825216dd65edb3fc4b3a6b401a7010c653208e864202201b442c03037c8deb6e3ff27cc33f6ddc338e02923d45ada41b5d57ee7d4b8a4a' }
|
48
|
+
let(:identifier) { 'foobar' }
|
49
49
|
|
50
|
-
it
|
51
|
-
post
|
52
|
-
|
53
|
-
|
54
|
-
|
50
|
+
it 'returns 403' do
|
51
|
+
post '/interapp', params: payload, headers: {
|
52
|
+
'CONTENT_TYPE' => 'application/json',
|
53
|
+
'X-Interapp-Identifier' => identifier,
|
54
|
+
'X-Interapp-Signature' => signature
|
55
55
|
}
|
56
56
|
expect(response.status).to eq(403)
|
57
57
|
end
|
58
58
|
end
|
59
|
-
|
60
59
|
end
|
data/spec/spec_helper.rb
CHANGED
@@ -1,8 +1,7 @@
|
|
1
1
|
ENV['RAILS_ENV'] ||= 'test'
|
2
2
|
|
3
|
-
require File.expand_path(
|
3
|
+
require File.expand_path('dummy/config/environment.rb', __dir__)
|
4
4
|
require 'rspec/rails'
|
5
|
-
require 'rspec/autorun'
|
6
5
|
|
7
6
|
Rails.backtrace_cleaner.remove_silencers!
|
8
7
|
|
@@ -10,5 +9,5 @@ RSpec.configure do |config|
|
|
10
9
|
config.mock_with :rspec
|
11
10
|
config.use_transactional_fixtures = true
|
12
11
|
config.infer_base_class_for_anonymous_controllers = false
|
13
|
-
config.order =
|
12
|
+
config.order = 'random'
|
14
13
|
end
|
metadata
CHANGED
@@ -1,49 +1,49 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: interapp
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 6.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ryan Zhou
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2019-09-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
|
-
name:
|
14
|
+
name: ecdsa
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - "
|
18
|
-
- !ruby/object:Gem::Version
|
19
|
-
version: 4.1.0
|
20
|
-
- - "<"
|
17
|
+
- - "~>"
|
21
18
|
- !ruby/object:Gem::Version
|
22
|
-
version:
|
19
|
+
version: 1.1.0
|
23
20
|
type: :runtime
|
24
21
|
prerelease: false
|
25
22
|
version_requirements: !ruby/object:Gem::Requirement
|
26
23
|
requirements:
|
27
|
-
- - "
|
28
|
-
- !ruby/object:Gem::Version
|
29
|
-
version: 4.1.0
|
30
|
-
- - "<"
|
24
|
+
- - "~>"
|
31
25
|
- !ruby/object:Gem::Version
|
32
|
-
version:
|
26
|
+
version: 1.1.0
|
33
27
|
- !ruby/object:Gem::Dependency
|
34
|
-
name:
|
28
|
+
name: rails
|
35
29
|
requirement: !ruby/object:Gem::Requirement
|
36
30
|
requirements:
|
37
|
-
- - "
|
31
|
+
- - ">="
|
38
32
|
- !ruby/object:Gem::Version
|
39
|
-
version:
|
33
|
+
version: 5.0.0
|
34
|
+
- - "<"
|
35
|
+
- !ruby/object:Gem::Version
|
36
|
+
version: '7.0'
|
40
37
|
type: :runtime
|
41
38
|
prerelease: false
|
42
39
|
version_requirements: !ruby/object:Gem::Requirement
|
43
40
|
requirements:
|
44
|
-
- - "
|
41
|
+
- - ">="
|
45
42
|
- !ruby/object:Gem::Version
|
46
|
-
version:
|
43
|
+
version: 5.0.0
|
44
|
+
- - "<"
|
45
|
+
- !ruby/object:Gem::Version
|
46
|
+
version: '7.0'
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: rest-client
|
49
49
|
requirement: !ruby/object:Gem::Requirement
|
@@ -68,16 +68,16 @@ dependencies:
|
|
68
68
|
name: rspec-rails
|
69
69
|
requirement: !ruby/object:Gem::Requirement
|
70
70
|
requirements:
|
71
|
-
- - "
|
71
|
+
- - ">="
|
72
72
|
- !ruby/object:Gem::Version
|
73
|
-
version:
|
73
|
+
version: '0'
|
74
74
|
type: :development
|
75
75
|
prerelease: false
|
76
76
|
version_requirements: !ruby/object:Gem::Requirement
|
77
77
|
requirements:
|
78
|
-
- - "
|
78
|
+
- - ">="
|
79
79
|
- !ruby/object:Gem::Version
|
80
|
-
version:
|
80
|
+
version: '0'
|
81
81
|
- !ruby/object:Gem::Dependency
|
82
82
|
name: sqlite3
|
83
83
|
requirement: !ruby/object:Gem::Requirement
|
@@ -145,6 +145,7 @@ files:
|
|
145
145
|
- spec/dummy/config/routes.rb
|
146
146
|
- spec/dummy/config/secrets.yml
|
147
147
|
- spec/dummy/db/test.sqlite3
|
148
|
+
- spec/dummy/log/test.log
|
148
149
|
- spec/dummy/public/404.html
|
149
150
|
- spec/dummy/public/422.html
|
150
151
|
- spec/dummy/public/500.html
|
@@ -174,7 +175,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
174
175
|
version: '0'
|
175
176
|
requirements: []
|
176
177
|
rubyforge_project:
|
177
|
-
rubygems_version: 2.7.
|
178
|
+
rubygems_version: 2.7.6
|
178
179
|
signing_key:
|
179
180
|
specification_version: 4
|
180
181
|
summary: Interapp handles simple and secure inter-app messaging.
|
@@ -211,6 +212,7 @@ test_files:
|
|
211
212
|
- spec/dummy/bin/rake
|
212
213
|
- spec/dummy/bin/bundle
|
213
214
|
- spec/dummy/bin/rails
|
215
|
+
- spec/dummy/log/test.log
|
214
216
|
- spec/dummy/db/test.sqlite3
|
215
217
|
- spec/dummy/public/favicon.ico
|
216
218
|
- spec/dummy/public/422.html
|