@@ -1034,4 +1034,49 @@ public void testGetExternalVmConsole() {
10341034 Assert .assertNotNull (spy .getExternalVmConsole (virtualMachine , host ));
10351035 Mockito .verify (extensionManager ).getInstanceConsole (virtualMachine , host );
10361036 }
1037+
1038+ @ Test
1039+ public void getStatesForIpAddressSearchReturnsValidStates () {
1040+ ListPublicIpAddressesCmd cmd = Mockito .mock (ListPublicIpAddressesCmd .class );
1041+ Mockito .when (cmd .getState ()).thenReturn ("Allocated,Free" );
1042+ List <IpAddress .State > result = spy .getStatesForIpAddressSearch (cmd );
1043+ Assert .assertEquals (2 , result .size ());
1044+ Assert .assertTrue (result .contains (IpAddress .State .Allocated ));
1045+ Assert .assertTrue (result .contains (IpAddress .State .Free ));
1046+ }
1047+
1048+ @ Test
1049+ public void getStatesForIpAddressSearchReturnsEmptyListForNullState () {
1050+ ListPublicIpAddressesCmd cmd = Mockito .mock (ListPublicIpAddressesCmd .class );
1051+ Mockito .when (cmd .getState ()).thenReturn (null );
1052+ List <IpAddress .State > result = spy .getStatesForIpAddressSearch (cmd );
1053+ Assert .assertTrue (result .isEmpty ());
1054+ }
1055+
1056+ @ Test
1057+ public void getStatesForIpAddressSearchReturnsEmptyListForBlankState () {
1058+ ListPublicIpAddressesCmd cmd = Mockito .mock (ListPublicIpAddressesCmd .class );
1059+ Mockito .when (cmd .getState ()).thenReturn (" " );
1060+ List <IpAddress .State > result = spy .getStatesForIpAddressSearch (cmd );
1061+ Assert .assertTrue (result .isEmpty ());
1062+ }
1063+
1064+ @ Test (expected = InvalidParameterValueException .class )
1065+ public void getStatesForIpAddressSearchThrowsExceptionForInvalidState () {
1066+ ListPublicIpAddressesCmd cmd = Mockito .mock (ListPublicIpAddressesCmd .class );
1067+ Mockito .when (cmd .getState ()).thenReturn ("InvalidState" );
1068+ spy .getStatesForIpAddressSearch (cmd );
1069+ }
1070+
1071+ @ Test
1072+ public void getStatesForIpAddressSearchHandlesMixedValidAndInvalidStates () {
1073+ ListPublicIpAddressesCmd cmd = Mockito .mock (ListPublicIpAddressesCmd .class );
1074+ Mockito .when (cmd .getState ()).thenReturn ("Allocated,InvalidState" );
1075+ try {
1076+ spy .getStatesForIpAddressSearch (cmd );
1077+ Assert .fail ("Expected InvalidParameterValueException to be thrown" );
1078+ } catch (InvalidParameterValueException e ) {
1079+ Assert .assertEquals ("Invalid state: InvalidState" , e .getMessage ());
1080+ }
1081+ }
10371082}
0 commit comments