66import { AzExtFsExtra } from "@microsoft/vscode-azext-utils" ;
77import * as assert from "assert" ;
88import * as path from "path" ;
9- import { IngressContext , PortRange , getDockerfileExposePort , tryConfigureIngressUsingDockerfile } from "../../extension.bundle" ;
9+ import { IngressContext , PortRange , getDockerfileExposePorts , tryConfigureIngressUsingDockerfile } from "../../extension.bundle" ;
1010import type { MockIngressContext } from "./MockIngressContext" ;
1111
12+ const expectedSamplePorts : PortRange [ ] [ ] = [
13+ [ new PortRange ( 443 ) , new PortRange ( 80 ) ] ,
14+ [ new PortRange ( 80 ) , new PortRange ( 443 ) ] ,
15+ [ new PortRange ( 80 ) , new PortRange ( 8080 , 8090 ) ] ,
16+ [ new PortRange ( 80 ) , new PortRange ( 8080 , 8090 ) ] ,
17+ [ new PortRange ( 443 ) ] ,
18+ [ new PortRange ( 80 ) , new PortRange ( 443 ) , new PortRange ( 8080 , 8090 ) ] ,
19+ [ ]
20+ ] ;
21+
1222suite ( 'tryConfigureIngressUsingDockerfile' , async ( ) => {
1323 test ( 'self' , async ( ) => {
1424 const dockerfileSamplesPath : string = path . join ( __dirname , 'dockerfileSamples' ) ;
1525 const dockerfileSamples = await AzExtFsExtra . readDirectory ( dockerfileSamplesPath ) ;
1626
17- const expectedResult = [
18- { enableIngress : true , enableExternal : true } ,
19- { enableIngress : undefined , enableExternal : undefined } , // no dockerfilePath
20- { enableIngress : true , enableExternal : true } ,
21- { enableIngress : undefined , enableExternal : undefined } , // alwaysPromptIngress
22- { enableIngress : true , enableExternal : true } ,
23- { enableIngress : true , enableExternal : true } ,
24- { enableIngress : false , enableExternal : false } ,
27+ const expectedResult : MockIngressContext [ ] = [
28+ { enableIngress : true , enableExternal : true , dockerfileExposePorts : expectedSamplePorts [ 0 ] , targetPort : 443 } ,
29+ { enableIngress : undefined , enableExternal : undefined , dockerfileExposePorts : undefined , targetPort : undefined } , // no dockerfilePath
30+ { enableIngress : true , enableExternal : true , dockerfileExposePorts : expectedSamplePorts [ 2 ] , targetPort : 80 } ,
31+ { enableIngress : undefined , enableExternal : undefined , dockerfileExposePorts : expectedSamplePorts [ 3 ] , targetPort : undefined } , // alwaysPromptIngress
32+ { enableIngress : true , enableExternal : true , dockerfileExposePorts : expectedSamplePorts [ 4 ] , targetPort : 443 } ,
33+ { enableIngress : true , enableExternal : true , dockerfileExposePorts : expectedSamplePorts [ 5 ] , targetPort : 80 } ,
34+ { enableIngress : false , enableExternal : false , dockerfileExposePorts : undefined , targetPort : undefined } , // no expose
2535 ] ;
2636
2737 for ( const [ i , ds ] of dockerfileSamples . entries ( ) ) {
@@ -32,30 +42,30 @@ suite('tryConfigureIngressUsingDockerfile', async () => {
3242
3343 await tryConfigureIngressUsingDockerfile ( context as IngressContext ) ;
3444
35- assert . deepStrictEqual ( { enableIngress : context . enableIngress , enableExternal : context . enableExternal } , expectedResult [ i ] )
45+ assert . deepStrictEqual ( {
46+ enableIngress : context . enableIngress ,
47+ enableExternal : context . enableExternal ,
48+ dockerfileExposePortsLength : context . dockerfileExposePorts ?. length ,
49+ targetPort : context . targetPort
50+ } , {
51+ enableIngress : expectedResult [ i ] . enableIngress ,
52+ enableExternal : expectedResult [ i ] . enableExternal ,
53+ dockerfileExposePortsLength : expectedResult [ i ] . dockerfileExposePorts ?. length ,
54+ targetPort : expectedResult [ i ] . targetPort
55+ } ) ;
3656 }
3757 } ) ;
3858
3959 test ( 'getDockerfileExposePorts' , async ( ) => {
4060 const dockerfileSamplesPath : string = path . join ( __dirname , 'dockerfileSamples' ) ;
4161 const dockerfileSamples = await AzExtFsExtra . readDirectory ( dockerfileSamplesPath ) ;
4262
43- const expectedResult : PortRange [ ] [ ] = [
44- [ new PortRange ( 80 ) , new PortRange ( 443 ) ] ,
45- [ new PortRange ( 80 ) , new PortRange ( 443 ) ] ,
46- [ new PortRange ( 80 ) , new PortRange ( 8080 , 8090 ) ] ,
47- [ new PortRange ( 80 ) , new PortRange ( 8080 , 8090 ) ] ,
48- [ new PortRange ( 80 ) ] ,
49- [ new PortRange ( 80 ) , new PortRange ( 443 ) , new PortRange ( 8080 , 8090 ) ] ,
50- [ ]
51- ] ;
52-
5363 for ( const [ i , ds ] of dockerfileSamples . entries ( ) ) {
54- const portRange : PortRange [ ] = await getDockerfileExposePort ( ds . fsPath ) ?? [ ] ;
64+ const portRange : PortRange [ ] = await getDockerfileExposePorts ( ds . fsPath ) ?? [ ] ;
5565
5666 for ( const [ j , pr ] of portRange . entries ( ) ) {
57- assert . equal ( pr . start , expectedResult [ i ] [ j ] . start ) ;
58- assert . equal ( pr . end , expectedResult [ i ] [ j ] . end ) ;
67+ assert . equal ( pr . start , expectedSamplePorts [ i ] [ j ] . start ) ;
68+ assert . equal ( pr . end , expectedSamplePorts [ i ] [ j ] . end ) ;
5969 }
6070 }
6171 } ) ;
0 commit comments