@@ -722,58 +722,59 @@ public void testGlobValues() throws IOException {
722722 assertThat (values , contains ("1" ));
723723 }
724724
725- public void testMerge () {
726- {
727- assertThat (Settings .EMPTY .merge (null ), equalTo (Settings .EMPTY ));
728- assertThat (Settings .EMPTY .merge (Settings .EMPTY ), equalTo (Settings .EMPTY ));
729- }
730- {
731- Settings .Builder builder = Settings .builder ();
732- for (int i = 1 ; i < randomInt (100 ); i ++) {
733- builder .put (randomAlphanumericOfLength (20 ), randomAlphanumericOfLength (50 ));
734- }
735- Settings settings = builder .build ();
736- assertThat (settings .merge (null ), equalTo (settings ));
737- assertThat (settings .merge (Settings .EMPTY ), equalTo (settings ));
738- }
739- {
740- Settings .Builder builder = Settings .builder ();
741- for (int i = 1 ; i < randomInt (100 ); i ++) {
742- builder .put (randomAlphanumericOfLength (20 ), randomAlphanumericOfLength (50 ));
743- }
744- Settings newSettings = builder .build ();
745- assertThat (Settings .EMPTY .merge (newSettings ), equalTo (newSettings ));
746- }
747- {
748- Settings settings = Settings .builder ()
749- .put ("index.setting1" , "templateValue" )
750- .put ("index.setting3" , "templateValue" )
751- .put ("index.setting4" , "templateValue" )
752- .build ();
753- Settings newSettings = Settings .builder ()
754- .put ("index.setting1" , "dataStreamValue" )
755- .put ("index.setting2" , "dataStreamValue" )
756- .put ("index.setting3" , (String ) null ) // This one gets removed from the effective settings
757- .build ();
758- Settings mergedSettings = Settings .builder ()
759- .put ("index.setting1" , "dataStreamValue" )
760- .put ("index.setting2" , "dataStreamValue" )
761- .put ("index.setting4" , "templateValue" )
762- .build ();
763- assertThat (settings .merge (newSettings ), equalTo (mergedSettings ));
725+ public void testMergeNullOrEmptySettingsIntoEmptySettings () {
726+ expectThrows (NullPointerException .class , () -> Settings .EMPTY .merge (null ));
727+ assertThat (Settings .EMPTY .merge (Settings .EMPTY ), equalTo (Settings .EMPTY ));
728+ }
729+
730+ public void testMergeEmptySettings () {
731+ Settings .Builder builder = Settings .builder ();
732+ for (int i = 1 ; i < randomInt (100 ); i ++) {
733+ builder .put (randomAlphanumericOfLength (20 ), randomAlphanumericOfLength (50 ));
764734 }
765- {
766- Settings newSettings = Settings .builder ()
767- .put ("index.setting1" , "dataStreamValue" )
768- .put ("index.setting2" , "dataStreamValue" )
769- .put ("index.setting3" , (String ) null ) // This one gets removed from the effective settings
770- .build ();
771- Settings mergedSettings = Settings .builder ()
772- .put ("index.setting1" , "dataStreamValue" )
773- .put ("index.setting2" , "dataStreamValue" )
774- .build ();
775- assertThat (Settings .EMPTY .merge (newSettings ), equalTo (mergedSettings ));
735+ Settings settings = builder .build ();
736+ assertThat (settings .merge (Settings .EMPTY ), equalTo (settings ));
737+ }
738+
739+ public void testMergeNonEmptySettingsIntoEmptySettings () {
740+ Settings .Builder builder = Settings .builder ();
741+ for (int i = 1 ; i < randomInt (100 ); i ++) {
742+ builder .put (randomAlphanumericOfLength (20 ), randomAlphanumericOfLength (50 ));
776743 }
744+ Settings newSettings = builder .build ();
745+ assertThat (Settings .EMPTY .merge (newSettings ), equalTo (newSettings ));
746+ }
747+
748+ public void testMergeNonEmptySettingsIntoNonEmptySettings () {
749+ Settings settings = Settings .builder ()
750+ .put ("index.setting1" , "templateValue" )
751+ .put ("index.setting3" , "templateValue" )
752+ .put ("index.setting4" , "templateValue" )
753+ .build ();
754+ Settings newSettings = Settings .builder ()
755+ .put ("index.setting1" , "dataStreamValue" )
756+ .put ("index.setting2" , "dataStreamValue" )
757+ .put ("index.setting3" , (String ) null ) // This one gets removed from the effective settings
758+ .build ();
759+ Settings mergedSettings = Settings .builder ()
760+ .put ("index.setting1" , "dataStreamValue" )
761+ .put ("index.setting2" , "dataStreamValue" )
762+ .put ("index.setting4" , "templateValue" )
763+ .build ();
764+ assertThat (settings .merge (newSettings ), equalTo (mergedSettings ));
765+ }
766+
767+ public void testMergeNonEmptySettingsWithNullIntoEmptySettings () {
768+ Settings newSettings = Settings .builder ()
769+ .put ("index.setting1" , "dataStreamValue" )
770+ .put ("index.setting2" , "dataStreamValue" )
771+ .put ("index.setting3" , (String ) null ) // This one gets removed from the effective settings
772+ .build ();
773+ Settings mergedSettings = Settings .builder ()
774+ .put ("index.setting1" , "dataStreamValue" )
775+ .put ("index.setting2" , "dataStreamValue" )
776+ .build ();
777+ assertThat (Settings .EMPTY .merge (newSettings ), equalTo (mergedSettings ));
777778 }
778779
779780}
0 commit comments