InPlaceMsAdObjectSidValueEditor extends HexValueEditor { protected String convertToString( byte[] bytes ) { if ( ( bytes == null ) || ( bytes.length < 8 ) ) { return Messages.getString( "InPlaceMsAdObjectSidValueEditor.InvalidSid" ); } char[] hex = Hex.encodeHex( bytes ); StringBuffer sb = new StringBuffer(); sb.append( 'S' ); int revision = Integer.parseInt( new String( hex, 0, 2 ), 16 ); sb.append( '-' ); sb.append( revision ); int count = Integer.parseInt( new String( hex, 2, 2 ), 16 ); if ( bytes.length != ( 8 + count * 4 ) ) { return Messages.getString( "InPlaceMsAdObjectSidValueEditor.InvalidSid" ); } long authority = Long.parseLong( new String( hex, 4, 12 ), 16 ); sb.append( '-' ); sb.append( authority ); for ( int i = 0; i < count; i++ ) { StringBuffer rid = new StringBuffer(); for ( int k = 3; k >= 0; k-- ) { rid.append( hex[16 + ( i * 8 ) + ( k * 2 )] ); rid.append( hex[16 + ( i * 8 ) + ( k * 2 ) + 1] ); } long subAuthority = Long.parseLong( rid.toString(), 16 ); sb.append( '-' ); sb.append( subAuthority ); } return sb.toString(); }  String getDisplayValue( IValue value );  }
@Test public void testConvertToString3() { InPlaceMsAdObjectSidValueEditor editor = new InPlaceMsAdObjectSidValueEditor(); byte[] bytes = new byte[] { ( byte ) 0x01, ( byte ) 0x05, ( byte ) 0x00, ( byte ) 0x00, ( byte ) 0x00, ( byte ) 0x00, ( byte ) 0x00, ( byte ) 0x05, ( byte ) 0x15, ( byte ) 0x00, ( byte ) 0x00, ( byte ) 0x00, ( byte ) 0xaf, ( byte ) 0x6e, ( byte ) 0xb6, ( byte ) 0x27, ( byte ) 0x0c, ( byte ) 0xf5, ( byte ) 0x77, ( byte ) 0xa0, ( byte ) 0xa7, ( byte ) 0x10, ( byte ) 0xdf, ( byte ) 0x6e, ( byte ) 0xf4, ( byte ) 0x01, ( byte ) 0x00, ( byte ) 0x00 }; String displayValue = editor.convertToString( bytes ); assertEquals( "S-1-5-21-666267311-2692216076-1860112551-500", displayValue ); }
@Test public void testConvertToStringInvalid() { InPlaceMsAdObjectSidValueEditor editor = new InPlaceMsAdObjectSidValueEditor(); byte[] bytes = new byte[] { ( byte ) 0x00 }; String displayValue = editor.convertToString( bytes ); assertEquals( Messages.getString( "InPlaceMsAdObjectSidValueEditor.InvalidSid" ), displayValue ); byte[] bytes2 = new byte[] { ( byte ) 0x01, ( byte ) 0x05, ( byte ) 0x00, ( byte ) 0x00, ( byte ) 0x00, ( byte ) 0x00, ( byte ) 0x00, ( byte ) 0x05, ( byte ) 0x15, ( byte ) 0x00, ( byte ) 0x00, ( byte ) 0x00, ( byte ) 0xaf, ( byte ) 0x6e, ( byte ) 0xb6, ( byte ) 0x27, ( byte ) 0x0c, ( byte ) 0xf5, ( byte ) 0x77, ( byte ) 0xa0, ( byte ) 0xa7, ( byte ) 0x10, ( byte ) 0xdf, ( byte ) 0x6e, ( byte ) 0xf4, ( byte ) 0x01, ( byte ) 0x00, }; String displayValue2 = editor.convertToString( bytes2 ); assertEquals( Messages.getString( "InPlaceMsAdObjectSidValueEditor.InvalidSid" ), displayValue2 ); byte[] bytes3 = new byte[] { ( byte ) 0x01, ( byte ) 0x05, ( byte ) 0x00, ( byte ) 0x00, ( byte ) 0x00, ( byte ) 0x00, ( byte ) 0x00, ( byte ) 0x05, ( byte ) 0x15, ( byte ) 0x00, ( byte ) 0x00, ( byte ) 0x00, ( byte ) 0xaf, ( byte ) 0x6e, ( byte ) 0xb6, ( byte ) 0x27, ( byte ) 0x0c, ( byte ) 0xf5, ( byte ) 0x77, ( byte ) 0xa0, ( byte ) 0xa7, ( byte ) 0x10, ( byte ) 0xdf, ( byte ) 0x6e, ( byte ) 0xf4, ( byte ) 0x01, ( byte ) 0x00, ( byte ) 0x00, ( byte ) 0x00 }; String displayValue3 = editor.convertToString( bytes3 ); assertEquals( Messages.getString( "InPlaceMsAdObjectSidValueEditor.InvalidSid" ), displayValue3 ); }
@Test public void testConvertToStringNull() { InPlaceMsAdObjectSidValueEditor editor = new InPlaceMsAdObjectSidValueEditor(); byte[] bytes = null; String displayValue = editor.convertToString( bytes ); assertEquals( Messages.getString( "InPlaceMsAdObjectSidValueEditor.InvalidSid" ), displayValue ); }
@Test public void testConvertToString1() { InPlaceMsAdObjectSidValueEditor editor = new InPlaceMsAdObjectSidValueEditor(); byte[] bytes = new byte[] { ( byte ) 0x01, ( byte ) 0x01, ( byte ) 0x00, ( byte ) 0x00, ( byte ) 0x00, ( byte ) 0x00, ( byte ) 0x00, ( byte ) 0x05, ( byte ) 0x04, ( byte ) 0x00, ( byte ) 0x00, ( byte ) 0x00 }; String displayValue = editor.convertToString( bytes ); assertEquals( "S-1-5-4", displayValue ); }
@Test public void testConvertToString2() { InPlaceMsAdObjectSidValueEditor editor = new InPlaceMsAdObjectSidValueEditor(); byte[] bytes = new byte[] { ( byte ) 0x01, ( byte ) 0x02, ( byte ) 0x00, ( byte ) 0x00, ( byte ) 0x00, ( byte ) 0x00, ( byte ) 0x00, ( byte ) 0x05, ( byte ) 0x20, ( byte ) 0x00, ( byte ) 0x00, ( byte ) 0x00, ( byte ) 0x25, ( byte ) 0x02, ( byte ) 0x00, ( byte ) 0x00 }; String displayValue = editor.convertToString( bytes ); assertEquals( "S-1-5-32-549", displayValue ); }