@@ -2,23 +2,38 @@ import mapboxgl from 'mapbox-gl';
22import {
33 DataFlowService
44} from '../../../src/mapboxgl/services/DataFlowService' ;
5- import {
6- SecurityManager
7- } from '../../../src/common/security/SecurityManager' ;
85
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/" ;
119describe ( 'mapboxgl_DataFlowService' , ( ) => {
1210 var originalTimeout ;
1311 var service ;
14- var token = "15xQ_l77895DvXHYKWPesuU7x0tenRLuYXgjxX4x_s51Wqh9qrQiLuLKudwWWm6vQVTXej2cXEQKcIcFAxxzOw.." ;
12+ var mockServer = new Server ( urlDataFlow ) ;
1513 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+ } ) ;
1732 } ) ;
1833 beforeEach ( ( ) => {
1934 originalTimeout = jasmine . DEFAULT_TIMEOUT_INTERVAL ;
2035 jasmine . DEFAULT_TIMEOUT_INTERVAL = 50000 ;
21- service = null ;
36+ service = null ;
2237
2338 } ) ;
2439 afterEach ( ( ) => {
@@ -28,25 +43,10 @@ describe('mapboxgl_DataFlowService', () => {
2843 service . unBroadcast ( ) ;
2944 }
3045 } ) ;
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+ } ) ;
5050
5151 it ( 'broadcast_Point' , ( done ) => {
5252 var broadcast_Point = ( flowService ) => {
@@ -64,7 +64,7 @@ describe('mapboxgl_DataFlowService', () => {
6464 } ;
6565 flowService . broadcast ( feature ) ;
6666 }
67-
67+
6868 var timer ;
6969 try {
7070 service = new DataFlowService ( urlDataFlow ) ;
@@ -74,7 +74,7 @@ describe('mapboxgl_DataFlowService', () => {
7474 expect ( dataFlow . CLASS_NAME ) . toBe ( "SuperMap.DataFlowService" ) ;
7575 expect ( dataFlow . EVENT_TYPES . length ) . toEqual ( 8 ) ;
7676 expect ( dataFlow . broadcastWebSocket . binaryType ) . toBe ( "blob" ) ;
77- expect ( dataFlow . broadcastWebSocket . url ) . toBe ( urlDataFlow + "/ broadcast?token=" + token ) ;
77+ expect ( dataFlow . broadcastWebSocket . url ) . toBe ( urlDataFlow + "broadcast" ) ;
7878 timer = window . setInterval ( broadcast_Point ( service ) , 1000 ) ;
7979 } ) ;
8080 setTimeout ( ( ) => {
@@ -109,7 +109,7 @@ describe('mapboxgl_DataFlowService', () => {
109109 flowService . broadcast ( feature ) ;
110110 }
111111
112-
112+
113113 var timer ;
114114 try {
115115 service = new DataFlowService ( urlDataFlow ) ;
@@ -125,7 +125,7 @@ describe('mapboxgl_DataFlowService', () => {
125125 if ( timer ) {
126126 window . clearInterval ( timer ) ;
127127 }
128-
128+
129129 }
130130 } ) ;
131131
@@ -153,7 +153,7 @@ describe('mapboxgl_DataFlowService', () => {
153153 flowService . broadcast ( feature ) ;
154154 }
155155
156-
156+
157157 var timer ;
158158 try {
159159 service = new DataFlowService ( urlDataFlow ) ;
@@ -207,7 +207,7 @@ describe('mapboxgl_DataFlowService', () => {
207207 } ;
208208 flowService . broadcast ( feature ) ;
209209 }
210-
210+
211211 var timer ;
212212 try {
213213 service = new DataFlowService ( urlDataFlow ) ;
@@ -229,20 +229,19 @@ describe('mapboxgl_DataFlowService', () => {
229229 } ) ;
230230
231231 // 设置设置排除字段。
232- /* it('setExcludeField', (done) => {
232+ it ( 'initSubscribe,setExcludeField' , ( done ) => {
233+ var socket = new WebSocket ( urlDataFlow ) ;
233234 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 ( ( ) => {
246239 } ) ;
247- }); */
240+ service . initSubscribe ( ) ;
241+ setTimeout ( ( ) => {
242+ service . setExcludeField ( "id" ) ;
243+ expect ( service ) . not . toBeNull ( ) ;
244+ done ( ) ;
245+ } , 4000 )
246+ } ) ;
248247} ) ;
0 commit comments