@@ -2,23 +2,38 @@ import mapboxgl from 'mapbox-gl';
2
2
import {
3
3
DataFlowService
4
4
} from '../../../src/mapboxgl/services/DataFlowService' ;
5
- import {
6
- SecurityManager
7
- } from '../../../src/common/security/SecurityManager' ;
8
5
9
- var wsHost = "ws:\//" + "54.223.164.155:8800" ;
10
- var urlDataFlow = wsHost + "/iserver/services/dataflow/dataflow" ;
6
+
7
+ import { Server } from 'mock-socket' ;
8
+ var urlDataFlow = "ws:\//localhost:8003/" ;
11
9
describe ( 'mapboxgl_DataFlowService' , ( ) => {
12
10
var originalTimeout ;
13
11
var service ;
14
- var token = "15xQ_l77895DvXHYKWPesuU7x0tenRLuYXgjxX4x_s51Wqh9qrQiLuLKudwWWm6vQVTXej2cXEQKcIcFAxxzOw.." ;
12
+ var mockServer = new Server ( urlDataFlow ) ;
15
13
beforeAll ( ( ) => {
16
- SecurityManager . registerToken ( urlDataFlow , token ) ;
14
+ var e = {
15
+ "type" : "Feature" ,
16
+ "geometry" : {
17
+ "type" : "Point" ,
18
+ "coordinates" : [ 0 , 0 ]
19
+ } ,
20
+ "properties" : {
21
+ "id" : 1
22
+ }
23
+ } ;
24
+ mockServer . on ( 'connection' , socket => {
25
+ socket . on ( 'message' , ( ) => {
26
+ console . log ( "onmessage" ) ;
27
+ } ) ;
28
+ socket . on ( 'close' , ( ) => { } ) ;
29
+ socket . send ( JSON . stringify ( e ) ) ;
30
+ socket . close ( ) ;
31
+ } ) ;
17
32
} ) ;
18
33
beforeEach ( ( ) => {
19
34
originalTimeout = jasmine . DEFAULT_TIMEOUT_INTERVAL ;
20
35
jasmine . DEFAULT_TIMEOUT_INTERVAL = 50000 ;
21
- service = null ;
36
+ service = null ;
22
37
23
38
} ) ;
24
39
afterEach ( ( ) => {
@@ -28,25 +43,10 @@ describe('mapboxgl_DataFlowService', () => {
28
43
service . unBroadcast ( ) ;
29
44
}
30
45
} ) ;
31
-
32
- /* it('initSubscribe', (done) => {
33
- var initSubscribeMsg;
34
- var service = new DataFlowService(urlDataFlow);
35
- service.initSubscribe();
36
- service.on('messageSuccessed', (msg) => {
37
- initSubscribeMsg = msg;
38
- try {
39
- expect(service).not.toBeNull();
40
- expect(initSubscribeMsg).not.toBeNull();
41
- done();
42
- } catch (e) {
43
- console.log("'initSubscribe'案例失败" + e.name + ":" + e.message);
44
- expect(false).toBeTruthy();
45
- done();
46
- }
47
- })
48
- }); */
49
-
46
+ afterAll ( ( ) => {
47
+ mockServer . stop ( ) ;
48
+ mockServer = null ;
49
+ } ) ;
50
50
51
51
it ( 'broadcast_Point' , ( done ) => {
52
52
var broadcast_Point = ( flowService ) => {
@@ -64,7 +64,7 @@ describe('mapboxgl_DataFlowService', () => {
64
64
} ;
65
65
flowService . broadcast ( feature ) ;
66
66
}
67
-
67
+
68
68
var timer ;
69
69
try {
70
70
service = new DataFlowService ( urlDataFlow ) ;
@@ -74,7 +74,7 @@ describe('mapboxgl_DataFlowService', () => {
74
74
expect ( dataFlow . CLASS_NAME ) . toBe ( "SuperMap.DataFlowService" ) ;
75
75
expect ( dataFlow . EVENT_TYPES . length ) . toEqual ( 8 ) ;
76
76
expect ( dataFlow . broadcastWebSocket . binaryType ) . toBe ( "blob" ) ;
77
- expect ( dataFlow . broadcastWebSocket . url ) . toBe ( urlDataFlow + "/ broadcast?token=" + token ) ;
77
+ expect ( dataFlow . broadcastWebSocket . url ) . toBe ( urlDataFlow + "broadcast" ) ;
78
78
timer = window . setInterval ( broadcast_Point ( service ) , 1000 ) ;
79
79
} ) ;
80
80
setTimeout ( ( ) => {
@@ -109,7 +109,7 @@ describe('mapboxgl_DataFlowService', () => {
109
109
flowService . broadcast ( feature ) ;
110
110
}
111
111
112
-
112
+
113
113
var timer ;
114
114
try {
115
115
service = new DataFlowService ( urlDataFlow ) ;
@@ -125,7 +125,7 @@ describe('mapboxgl_DataFlowService', () => {
125
125
if ( timer ) {
126
126
window . clearInterval ( timer ) ;
127
127
}
128
-
128
+
129
129
}
130
130
} ) ;
131
131
@@ -153,7 +153,7 @@ describe('mapboxgl_DataFlowService', () => {
153
153
flowService . broadcast ( feature ) ;
154
154
}
155
155
156
-
156
+
157
157
var timer ;
158
158
try {
159
159
service = new DataFlowService ( urlDataFlow ) ;
@@ -207,7 +207,7 @@ describe('mapboxgl_DataFlowService', () => {
207
207
} ;
208
208
flowService . broadcast ( feature ) ;
209
209
}
210
-
210
+
211
211
var timer ;
212
212
try {
213
213
service = new DataFlowService ( urlDataFlow ) ;
@@ -229,20 +229,19 @@ describe('mapboxgl_DataFlowService', () => {
229
229
} ) ;
230
230
231
231
// 设置设置排除字段。
232
- /* it('setExcludeField', (done) => {
232
+ it ( 'initSubscribe,setExcludeField' , ( done ) => {
233
+ var socket = new WebSocket ( urlDataFlow ) ;
233
234
var service = new DataFlowService ( urlDataFlow ) ;
234
- service.setExcludeField("id");
235
- service.on('subscribeSuccessed', (e) => {
236
- service.setExcludeField("id");
237
- try {
238
- expect(service).not.toBeNull();
239
- expect(service.options.excludeField).not.toBeNull();
240
- done();
241
- } catch(e) {
242
- console.log("'setExcludeField'案例失败" + e.name + ":" + e.message);
243
- expect(false).toBeTruthy();
244
- done();
245
- }
235
+ spyOn ( service . dataFlow , '_connect' ) . and . callFake ( ( ) => {
236
+ return socket ;
237
+ } ) ;
238
+ spyOn ( socket , "send" ) . and . callFake ( ( ) => {
246
239
} ) ;
247
- }); */
240
+ service . initSubscribe ( ) ;
241
+ setTimeout ( ( ) => {
242
+ service . setExcludeField ( "id" ) ;
243
+ expect ( service ) . not . toBeNull ( ) ;
244
+ done ( ) ;
245
+ } , 4000 )
246
+ } ) ;
248
247
} ) ;
0 commit comments