88import com .marklogic .appdeployer .command .triggers .DeployTriggersCommand ;
99import com .marklogic .hub .ApplicationConfig ;
1010import com .marklogic .hub .HubTestBase ;
11+ import com .marklogic .hub .cli .Options ;
1112import com .marklogic .hub .cli .deploy .CopyQueryOptionsCommand ;
1213import com .marklogic .hub .cli .deploy .DhsDeployServersCommand ;
1314import com .marklogic .hub .deploy .commands .*;
@@ -29,36 +30,38 @@ public class InstallIntoDhsCommandTest extends HubTestBase {
2930
3031 @ Test
3132 public void buildDefaultProjectProperties () {
32- Properties props = new InstallIntoDhsCommand ().buildDefaultProjectProperties ();
33- assertEquals ("true" , props .getProperty ("mlIsHostLoadBalancer" ), "This is needed to support running legacy flows" );
34- assertEquals ("true" , props .getProperty ("mlIsProvisionedEnvironment" ));
35-
36- // Verify role mappings
37- assertEquals ("flowDeveloper" , props .getProperty ("mlFlowDeveloperRole" ));
38- assertEquals ("flowOperator" , props .getProperty ("mlFlowOperatorRole" ));
39- assertEquals ("flowDeveloper" , props .getProperty ("mlDataHubAdminRole" ),
40- "As of 5.0.2, mlDataHubAdminRole is only used for setting permissions on triggers, so it's fine to map it to the flowDeveloper role" );
41-
42- assertEquals ("flowDeveloper,read,flowDeveloper,execute,flowDeveloper,insert,flowOperator,read,flowOperator,execute,flowOperator,insert" ,
43- props .getProperty ("mlModulePermissions" ));
33+ Properties props = new InstallIntoDhsCommand ().buildDefaultProjectProperties (new Options ());
4434
45- assertEquals ("8010" , props .getProperty ("mlAppServicesPort" ), "8000 is not available in DHS, so the staging port is used instead for " +
46- "loading non-REST modules" );
35+ verifyDefaultProperties (props );
4736
4837 assertEquals ("https" , props .getProperty ("mlAdminScheme" ));
4938 assertEquals ("true" , props .getProperty ("mlAdminSimpleSsl" ));
5039 assertEquals ("https" , props .getProperty ("mlManageScheme" ));
5140 assertEquals ("true" , props .getProperty ("mlManageSimpleSsl" ));
52- assertEquals ("basic" , props .getProperty ("mlAppServicesAuthentication" ));
5341 assertEquals ("true" , props .getProperty ("mlAppServicesSimpleSsl" ));
54- assertEquals ("basic" , props .getProperty ("mlFinalAuth" ));
5542 assertEquals ("true" , props .getProperty ("mlFinalSimpleSsl" ));
56- assertEquals ("basic" , props .getProperty ("mlJobAuth" ));
5743 assertEquals ("true" , props .getProperty ("mlJobSimpleSsl" ));
58- assertEquals ("basic" , props .getProperty ("mlStagingAuth" ));
5944 assertEquals ("true" , props .getProperty ("mlStagingSimpleSsl" ));
6045 }
6146
47+ @ Test
48+ public void buildDefaultProjectPropertiesWithoutSslEnabled () {
49+ Options options = new Options ();
50+ options .setDisableSsl (true );
51+
52+ Properties props = new InstallIntoDhsCommand ().buildDefaultProjectProperties (options );
53+ verifyDefaultProperties (props );
54+
55+ assertNull (props .getProperty ("mlAdminScheme" ));
56+ assertNull (props .getProperty ("mlAdminSimpleSsl" ));
57+ assertNull (props .getProperty ("mlManageScheme" ));
58+ assertNull (props .getProperty ("mlManageSimpleSsl" ));
59+ assertNull (props .getProperty ("mlAppServicesSimpleSsl" ));
60+ assertNull (props .getProperty ("mlFinalSimpleSsl" ));
61+ assertNull (props .getProperty ("mlJobSimpleSsl" ));
62+ assertNull (props .getProperty ("mlStagingSimpleSsl" ));
63+ }
64+
6265 @ Test
6366 public void modifyHubConfig () {
6467 HubConfigImpl config = new HubConfigImpl ();
@@ -93,4 +96,26 @@ public void buildCommandList() {
9396 assertTrue (commands .get (9 ) instanceof DeployHubTriggersCommand );
9497 assertTrue (commands .get (10 ) instanceof LoadHubArtifactsCommand );
9598 }
99+
100+ private void verifyDefaultProperties (Properties props ) {
101+ assertEquals ("true" , props .getProperty ("mlIsHostLoadBalancer" ), "This is needed to support running legacy flows" );
102+ assertEquals ("true" , props .getProperty ("mlIsProvisionedEnvironment" ));
103+
104+ // Verify role mappings
105+ assertEquals ("flowDeveloper" , props .getProperty ("mlFlowDeveloperRole" ));
106+ assertEquals ("flowOperator" , props .getProperty ("mlFlowOperatorRole" ));
107+ assertEquals ("flowDeveloper" , props .getProperty ("mlDataHubAdminRole" ),
108+ "As of 5.0.2, mlDataHubAdminRole is only used for setting permissions on triggers, so it's fine to map it to the flowDeveloper role" );
109+
110+ assertEquals ("flowDeveloper,read,flowDeveloper,execute,flowDeveloper,insert,flowOperator,read,flowOperator,execute,flowOperator,insert" ,
111+ props .getProperty ("mlModulePermissions" ));
112+
113+ assertEquals ("8010" , props .getProperty ("mlAppServicesPort" ), "8000 is not available in DHS, so the staging port is used instead for " +
114+ "loading non-REST modules" );
115+
116+ assertEquals ("basic" , props .getProperty ("mlAppServicesAuthentication" ));
117+ assertEquals ("basic" , props .getProperty ("mlFinalAuth" ));
118+ assertEquals ("basic" , props .getProperty ("mlJobAuth" ));
119+ assertEquals ("basic" , props .getProperty ("mlStagingAuth" ));
120+ }
96121}
0 commit comments