@@ -75,7 +75,8 @@ describe('mapboxgl-webmap3.0', () => {
7575 return Promise . resolve ( ) ;
7676 } ) ;
7777 mapstudioWebmap = new WebMap ( id , {
78- server : server
78+ server : server ,
79+ iportalServiceProxyUrl : 'initialize_raster'
7980 } ) ;
8081 expect ( mapstudioWebmap . credentialKey ) . toBeUndefined ( ) ;
8182 expect ( mapstudioWebmap . credentialValue ) . toBeUndefined ( ) ;
@@ -136,7 +137,8 @@ describe('mapboxgl-webmap3.0', () => {
136137 const mapInfo = JSON . parse ( mapstudioWebMap_symbol ) ;
137138 mapstudioWebmap = new WebMapV3 ( mapInfo , {
138139 server : server ,
139- target : 'map'
140+ target : 'map' ,
141+ iportalServiceProxyUrl : 'mapId is JSON'
140142 } ) ;
141143 mapstudioWebmap . initializeMap ( mapInfo ) ;
142144
@@ -212,7 +214,8 @@ describe('mapboxgl-webmap3.0', () => {
212214 mapboxgl . CRS . set = function ( ) { } ;
213215 mapstudioWebmap = new WebMapV3 ( nextMapInfo , {
214216 server : server ,
215- target : 'map'
217+ target : 'map' ,
218+ iportalServiceProxyUrl : 'projection is 4490 and include mapbox-gl-enhance'
216219 } ) ;
217220 mapstudioWebmap . initializeMap ( nextMapInfo ) ;
218221
@@ -307,7 +310,8 @@ describe('mapboxgl-webmap3.0', () => {
307310 const mapInfo = JSON . parse ( mapstudioWebMap_symbol ) ;
308311 mapstudioWebmap = new WebMapV3 ( mapInfo , {
309312 server : server ,
310- target : 'map'
313+ target : 'map' ,
314+ iportalServiceProxyUrl : 'overlayLayersManager'
311315 } ) ;
312316 mapstudioWebmap . initializeMap ( mapInfo ) ;
313317
@@ -407,7 +411,8 @@ describe('mapboxgl-webmap3.0', () => {
407411 const mapInfo = JSON . parse ( mapstudioWebMap_symbol ) ;
408412 mapstudioWebmap = new WebMapV3 ( mapInfo , {
409413 server : server ,
410- target : 'map'
414+ target : 'map' ,
415+ iportalServiceProxyUrl : 'exclude source and layer'
411416 } ) ;
412417 mapstudioWebmap . initializeMap ( mapInfo ) ;
413418
@@ -486,9 +491,13 @@ describe('mapboxgl-webmap3.0', () => {
486491 } ) ;
487492 mapboxgl . CRS = function ( ) { } ;
488493 mapboxgl . CRS . set = function ( ) { } ;
494+ const mapOptions = {
495+ transformRequest : function ( url ) { return { url } ; }
496+ }
497+ spyOn ( mapOptions , 'transformRequest' ) . and . callThrough ( ) ;
489498 mapstudioWebmap = new WebMap ( id , {
490499 server : server
491- } ) ;
500+ } , mapOptions ) ;
492501 mapstudioWebmap . on ( 'addlayerssucceeded' , ( { map } ) => {
493502 const webmapInstance = mapstudioWebmap . _getWebMapInstance ( ) ;
494503 expect ( map ) . not . toBeUndefined ( ) ;
@@ -500,6 +509,7 @@ describe('mapboxgl-webmap3.0', () => {
500509 const layerCatalogs = webmapInstance . getLayerCatalog ( ) ;
501510 expect ( layerCatalogs . length ) . toBeLessThanOrEqual ( appreciableLayers . length ) ;
502511 expect ( webmapInstance . getLegendInfo ( ) . length ) . toBe ( 11 ) ;
512+ expect ( mapOptions . transformRequest . calls . count ( ) ) . toBeGreaterThan ( 0 ) ;
503513 delete mapboxgl . Map . prototype . getCRS ;
504514 delete mapboxgl . CRS ;
505515 done ( ) ;
@@ -544,7 +554,8 @@ describe('mapboxgl-webmap3.0', () => {
544554 return Promise . resolve ( ) ;
545555 } ) ;
546556 mapstudioWebmap = new WebMap ( id , {
547- server : server
557+ server : server ,
558+ iportalServiceProxyUrl : 'layerdatas'
548559 } ) ;
549560
550561 mapstudioWebmap . on ( 'addlayerssucceeded' , ( { map } ) => {
@@ -584,4 +595,28 @@ describe('mapboxgl-webmap3.0', () => {
584595 done ( ) ;
585596 } ) ;
586597 } ) ;
598+
599+ it ( 'transformRequest' , ( done ) => {
600+ spyOn ( FetchRequest , 'get' ) . and . callFake ( ( url ) => {
601+ if ( url . indexOf ( '617580084.json' ) > - 1 ) {
602+ return Promise . resolve ( new Response ( mapstudioAppInfo ) ) ;
603+ }
604+ return Promise . resolve ( ) ;
605+ } ) ;
606+ spyOn ( mapboxgl , 'Map' ) . and . callFake ( mbglmap ) ;
607+ const mapInfo = JSON . parse ( mapstudioWebMap_raster ) ;
608+ mapstudioWebmap = new WebMapV3 ( mapInfo , {
609+ server : server ,
610+ iportalServiceProxyUrl : 'http://localhost:8195/portalproxy'
611+ } ) ;
612+ mapstudioWebmap . initializeMap ( mapInfo ) ;
613+ expect ( mapstudioWebmap . map ) . not . toBeUndefined ( ) ;
614+ let mockTileUrl = 'http://localhost:8195/portalproxy/7c851958ab40a5e0/iserver/services/map_world1_y6nykx3f/rest/maps/World1/tileimage.png?scale=6.760654286410619e-9&x=1&y=0&width=256&height=256&transparent=true&redirect=false&cacheEnabled=true&origin=%7B%22x%22%3A-180%2C%22y%22%3A90%7D' ;
615+ let transformed = mapstudioWebmap . map . options . transformRequest ( mockTileUrl , 'Tile' ) ;
616+ expect ( transformed . credentials ) . toBe ( 'include' ) ;
617+ mockTileUrl = 'https://maptiles.supermapol.com/iserver/services/map_China/rest/maps/China_Dark' ;
618+ transformed = mapstudioWebmap . map . options . transformRequest ( mockTileUrl , 'Tile' ) ;
619+ expect ( transformed . credentials ) . toBeUndefined ( ) ;
620+ done ( ) ;
621+ } ) ;
587622} ) ;
0 commit comments