@@ -81,7 +81,7 @@ test("Should create subsequent scans for open HTTPS ports (NMAP findings)", () =
8181 Array [
8282 Object {
8383 "cascades": Object {},
84- "env": undefined ,
84+ "env": Array [] ,
8585 "finding": Object {
8686 "attributes": Object {
8787 "hostname": "foobar.com",
@@ -154,7 +154,7 @@ test("Should not try to do magic to the scan name if its something random", () =
154154 Array [
155155 Object {
156156 "cascades": Object {},
157- "env": undefined ,
157+ "env": Array [] ,
158158 "finding": Object {
159159 "attributes": Object {
160160 "hostname": undefined,
@@ -232,7 +232,7 @@ test("Should not crash when the annotations are not set", () => {
232232 Array [
233233 Object {
234234 "cascades": Object {},
235- "env": undefined ,
235+ "env": Array [] ,
236236 "finding": Object {
237237 "attributes": Object {
238238 "hostname": "foobar.com",
@@ -374,7 +374,7 @@ test("Should allow wildcards in cascadingRules", () => {
374374 Array [
375375 Object {
376376 "cascades": Object {},
377- "env": undefined ,
377+ "env": Array [] ,
378378 "finding": Object {
379379 "attributes": Object {
380380 "hostname": "foobar.com",
@@ -642,7 +642,7 @@ test("should copy scanLabels from CascadingRule to cascading scan", () => {
642642 Array [
643643 Object {
644644 "cascades": Object {},
645- "env": undefined ,
645+ "env": Array [] ,
646646 "finding": Object {
647647 "attributes": Object {
648648 "hostname": "foobar.com",
@@ -707,7 +707,7 @@ test("should copy scanAnnotations from CascadingRule to cascading scan", () => {
707707 Array [
708708 Object {
709709 "cascades": Object {},
710- "env": undefined ,
710+ "env": Array [] ,
711711 "finding": Object {
712712 "attributes": Object {
713713 "hostname": "foobar.com",
@@ -825,7 +825,7 @@ test("should copy proper finding ID into annotations", () => {
825825 Array [
826826 Object {
827827 "cascades": Object {},
828- "env": undefined ,
828+ "env": Array [] ,
829829 "finding": Object {
830830 "attributes": Object {
831831 "hostname": "foobar.com",
@@ -859,3 +859,90 @@ test("should copy proper finding ID into annotations", () => {
859859 }
860860 ) ) . toBe ( true )
861861} ) ;
862+
863+ test ( "should merge environment variables into cascaded scan" , ( ) => {
864+ const findings = [
865+ {
866+ name : "Port 443 is open" ,
867+ category : "Open Port" ,
868+ attributes : {
869+ state : "open" ,
870+ hostname : "foobar.com" ,
871+ port : 443 ,
872+ service : "https"
873+ }
874+ }
875+ ] ;
876+
877+ parentScan . spec . env = [
878+ {
879+ "name" : "parent_environment_variable_name" ,
880+ "value" : "parent_environment_variable_value"
881+ }
882+ ]
883+
884+ sslyzeCascadingRules [ 0 ] . spec . scanSpec . env = [
885+ {
886+ "name" : "rule_environment_variable_name" ,
887+ "value" : "rule_environment_variable_value"
888+ }
889+ ]
890+
891+ const cascadedScans = getCascadingScans (
892+ parentScan ,
893+ findings ,
894+ sslyzeCascadingRules
895+ ) ;
896+
897+ const cascadedScan = cascadedScans [ 0 ]
898+
899+ expect ( cascadedScans ) . toMatchInlineSnapshot ( `
900+ Array [
901+ Object {
902+ "cascades": Object {},
903+ "env": Array [
904+ Object {
905+ "name": "rule_environment_variable_name",
906+ "value": "rule_environment_variable_value",
907+ },
908+ ],
909+ "finding": Object {
910+ "attributes": Object {
911+ "hostname": "foobar.com",
912+ "port": 443,
913+ "service": "https",
914+ "state": "open",
915+ },
916+ "category": "Open Port",
917+ "name": "Port 443 is open",
918+ },
919+ "generatedBy": "tls-scans",
920+ "name": "sslyze-foobar.com-tls-scans",
921+ "parameters": Array [
922+ "--regular",
923+ "foobar.com:443",
924+ ],
925+ "scanAnnotations": Object {},
926+ "scanLabels": Object {},
927+ "scanType": "sslyze",
928+ "volumeMounts": Array [],
929+ "volumes": Array [],
930+ },
931+ ]
932+ ` ) ;
933+
934+ const cascadingScanDefinition = getCascadingScanDefinition ( cascadedScan , parentScan ) ;
935+
936+ expect ( cascadingScanDefinition . spec . env ) . toMatchInlineSnapshot ( `
937+ Array [
938+ Object {
939+ "name": "rule_environment_variable_name",
940+ "value": "rule_environment_variable_value",
941+ },
942+ Object {
943+ "name": "parent_environment_variable_name",
944+ "value": "parent_environment_variable_value",
945+ },
946+ ]
947+ ` ) ;
948+ } ) ;
0 commit comments