Package org.dhcp4java

Examples of org.dhcp4java.DHCPOption


    assertEquals("DHO_DHCP_LEASE_TIME(51)=<null>", buf.toString());
  }
  @Test
  public void testAppend() throws Exception {
    StringBuilder buf;
    DHCPOption opt;

    buf = new StringBuilder();
    opt = new DHCPOption((byte) -2, HexUtils.hexToBytes("00010000FC0AE003FFFF"));
    opt.append(buf);
    assertEquals("(254)=0x00010000FC0AE003FFFF", buf.toString());

    buf = new StringBuilder();
    opt = DHCPOption.newOptionAsByte(DHO_DHCP_MESSAGE_TYPE, DHCPOFFER);
    opt.append(buf);
    assertEquals("DHO_DHCP_MESSAGE_TYPE(53)=DHCPOFFER", buf.toString());
   
    buf = new StringBuilder();
    opt = DHCPOption.newOptionAsByte(DHO_DHCP_MESSAGE_TYPE, (byte) -1);
    opt.append(buf);
    assertEquals("DHO_DHCP_MESSAGE_TYPE(53)=-1", buf.toString());
   
    buf = new StringBuilder();
    opt = DHCPOption.newOptionAsByte(DHO_IP_FORWARDING, (byte) -10);
    opt.append(buf);
    assertEquals("DHO_IP_FORWARDING(19)=-10", buf.toString());
   
    buf = new StringBuilder();
    opt = DHCPOption.newOptionAsShort(DHO_INTERFACE_MTU, (short) 1500);
    opt.append(buf);
    assertEquals("DHO_INTERFACE_MTU(26)=1500", buf.toString());
   
    buf = new StringBuilder();
    opt = new DHCPOption(DHO_PATH_MTU_PLATEAU_TABLE, HexUtils.hexToBytes("00010000FC0A"));
    opt.append(buf);
    assertEquals("DHO_PATH_MTU_PLATEAU_TABLE(25)=1 0 -1014 ", buf.toString());
   
    buf = new StringBuilder();
    opt = new DHCPOption(DHO_PATH_MTU_PLATEAU_TABLE, new byte[0]);
    opt.append(buf);
    assertEquals("DHO_PATH_MTU_PLATEAU_TABLE(25)=", buf.toString());
   
    buf = new StringBuilder();
    opt = DHCPOption.newOptionAsInt(DHO_DHCP_LEASE_TIME, 0x01234567);
    opt.append(buf);
    assertEquals("DHO_DHCP_LEASE_TIME(51)=19088743", buf.toString());
   
    buf = new StringBuilder();
    opt = DHCPOption.newOptionAsInetAddress(DHO_SUBNET_MASK,
        InetAddress.getByName("252.10.224.3"));
    opt.append(buf);
    assertEquals("DHO_SUBNET_MASK(1)=252.10.224.3", buf.toString());
   
    buf = new StringBuilder();
    InetAddress[] iadrs = new InetAddress[3];
    iadrs[0] = InetAddress.getByName("0.0.0.0");
    iadrs[1] = InetAddress.getByName("252.10.224.3");
    iadrs[2] = InetAddress.getByName("255.255.255.255");
    opt = DHCPOption.newOptionAsInetAddresses(DHO_WWW_SERVER, iadrs);
    opt.append(buf);
    assertEquals("DHO_WWW_SERVER(72)=0.0.0.0 252.10.224.3 255.255.255.255 ", buf.toString());
   
    buf = new StringBuilder();
    opt = DHCPOption.newOptionAsString(DHO_TFTP_SERVER, "foobar");
    opt.append(buf);
    assertEquals("DHO_TFTP_SERVER(66)=\"foobar\"", buf.toString());

    buf = new StringBuilder();
    opt = new DHCPOption(DHO_DHCP_PARAMETER_REQUEST_LIST, HexUtils.hexToBytes("0001FC0AE003FF"));
    opt.append(buf);
    assertEquals("DHO_DHCP_PARAMETER_REQUEST_LIST(55)=0 1 252 10 224 3 255 ", buf.toString());

    buf = new StringBuilder();
    opt = new DHCPOption(DHO_USER_CLASS, "\03foo\06foobar".getBytes());
    opt.append(buf);
    assertEquals("DHO_USER_CLASS(77)=\"foo\",\"foobar\"", buf.toString());

    buf = new StringBuilder();
    opt = new DHCPOption(DHO_DHCP_AGENT_OPTIONS, "\01\03foo\02\06barbaz\377\00".getBytes());
    opt.append(buf);
    assertEquals("DHO_DHCP_AGENT_OPTIONS(82)={1}\"foo\",{2}\"barbaz\",{255}\"\"", buf.toString());


  }
View Full Code Here


    assertNull(DHCPOption.string2Class(null));
  }
 
  @Test
  public void testParseNewOption() throws Exception {
    DHCPOption opt;
   
    opt = DHCPOption.parseNewOption(DHO_DHCP_LEASE_TIME, int.class, "33424124");
    assertEquals(DHO_DHCP_LEASE_TIME, opt.getCode());
    assertEquals(0x01FE02FC, opt.getValueAsInt());
    opt = DHCPOption.parseNewOption(DHO_INTERFACE_MTU, short.class, "1500");
    assertEquals(DHO_INTERFACE_MTU, opt.getCode());
    assertEquals((short)1500, opt.getValueAsShort());
    opt = DHCPOption.parseNewOption(DHO_IP_FORWARDING, byte.class, "1");
    assertEquals(DHO_IP_FORWARDING, opt.getCode());
    assertEquals((byte)1, opt.getValueAsByte());
    opt = DHCPOption.parseNewOption(DHO_TFTP_SERVER, String.class, "foobar");
    assertEquals(DHO_TFTP_SERVER, opt.getCode());
    assertEquals("foobar", opt.getValueAsString());

    short[] shorts = new short[3];
    shorts[0] = (short) 1500;
    shorts[1] = (short) 0;
    shorts[2] = (short) -1;
    opt = DHCPOption.parseNewOption(DHO_PATH_MTU_PLATEAU_TABLE, short[].class, "1500 0 -1");
    assertEquals(DHO_PATH_MTU_PLATEAU_TABLE, opt.getCode());
    assertTrue(Arrays.equals(opt.getValue(), HexUtils.hexToBytes("05DC0000FFFF")));
    assertTrue(Arrays.equals(shorts, opt.getValueAsShorts()));
   
    opt = DHCPOption.parseNewOption(DHO_DHCP_PARAMETER_REQUEST_LIST, byte[].class, "16 32 64");
    byte[] bytes = HexUtils.hexToBytes("102040");
    assertEquals(DHO_DHCP_PARAMETER_REQUEST_LIST, opt.getCode());
    assertTrue(Arrays.equals(bytes, opt.getValue()));

    opt = DHCPOption.parseNewOption(DHO_WWW_SERVER, byte[].class, "0.0.0.0 252.10.224.3 255.255.255.255");
    assertEquals(DHO_WWW_SERVER, opt.getCode());
    assertTrue(Arrays.equals(HexUtils.hexToBytes("00000000FC0AE003FFFFFFFF"), opt.getValue()));

    opt = DHCPOption.parseNewOption(DHO_WWW_SERVER, InetAddress[].class, "0.0.0.0 252.10.224.3 255.255.255.255");
    InetAddress[] iadrs = new InetAddress[3];
    iadrs[0] = InetAddress.getByName("0.0.0.0");
    iadrs[1] = InetAddress.getByName("252.10.224.3");
    iadrs[2] = InetAddress.getByName("255.255.255.255");
    assertEquals(DHO_WWW_SERVER, opt.getCode());
    assertTrue(Arrays.equals(iadrs, opt.getValueAsInetAddrs()));
   
    opt = DHCPOption.parseNewOption(DHO_WWW_SERVER, InetAddress.class, "252.10.224.3");
    assertEquals(DHO_WWW_SERVER, opt.getCode());
    assertTrue(Arrays.equals(HexUtils.hexToBytes("FC0AE003"), opt.getValue()));
   
    assertNull(DHCPOption.parseNewOption(DHO_WWW_SERVER, InetAddress.class, "www.foo.bar"));
    assertNull(DHCPOption.parseNewOption(DHO_WWW_SERVER, InetAddress[].class, "10.0.0.1 www.foo.bar"));
   
    assertNull(DHCPOption.parseNewOption((byte) 150, Object.class, ""));
View Full Code Here

   
    private DHCPOption opt = null;
   
    @Test (expected=IllegalArgumentException.class)
    public void testConstructorPad() {
      new DHCPOption((byte)0, null, true);    // 0 is reserved for padding
    }
View Full Code Here

    public void testConstructorPad() {
      new DHCPOption((byte)0, null, true);    // 0 is reserved for padding
    }
    @Test (expected=IllegalArgumentException.class)
    public void testConstructorEnd() {
      new DHCPOption((byte)0xFF, null, true)// 0xFF is reserved for "end of options"
    }
View Full Code Here

      new DHCPOption((byte)0xFF, null, true)// 0xFF is reserved for "end of options"
    }

    @Before
    public void setupOpt() {
      opt = new DHCPOption(DHO_DHCP_LEASE_TIME, null, true);
    }
View Full Code Here

      assertNull(opt.getValue());
    }
   
    @Test
    public void testGetMirrorValue() {
      DHCPOption mirrorOpt;
      DHCPPacket pac = new DHCPPacket();
      assertEquals(opt, opt.applyOption(pac));
     
      pac.setOptionAsInt(DHO_DHCP_LEASE_TIME, 86400);
     
      mirrorOpt = opt.applyOption(pac);
      assertEquals(DHO_DHCP_LEASE_TIME, mirrorOpt.getCode());
      assertTrue(Arrays.equals(DHCPOption.int2Bytes(86400), mirrorOpt.getValue()));
     
      pac.setOptionRaw(DHO_DHCP_LEASE_TIME, new byte[0]);
      mirrorOpt = opt.applyOption(pac);
      assertEquals(DHO_DHCP_LEASE_TIME, mirrorOpt.getCode());
      assertTrue(Arrays.equals(new byte[0], mirrorOpt.getValue()));
    }
View Full Code Here

      opt.applyOption(null);
    }
   
    @Test
    public void testGetMirrorValueIfMirrorIsFalse() {
      DHCPOption opt2 = new DHCPOption(DHO_DHCP_LEASE_TIME, null, false);
      DHCPOption mirrorOpt;
      DHCPPacket pac = new DHCPPacket();
      assertEquals(opt2, opt2.applyOption(pac));
      pac.setOptionAsInt(DHO_DHCP_LEASE_TIME, 86400);
     
      mirrorOpt = opt2.applyOption(pac);
      assertEquals(DHO_DHCP_LEASE_TIME, mirrorOpt.getCode());
      assertEquals(opt2, mirrorOpt)// not mirrored here since isMirror is false
    }
View Full Code Here

    }
    @Test
    public void testSetOptionNull() {
      pac0.setOptionRaw(DHO_BOOTFILE, hexToBytes("FF005498"));
      assertNotNull(pac0.getOptionRaw(DHO_BOOTFILE));
      pac0.setOption(new DHCPOption(DHO_BOOTFILE, null));
      assertFalse(pac0.containsOption(DHO_BOOTFILE));
      assertNull(pac0.getOptionRaw(DHO_BOOTFILE));
    }
View Full Code Here

         return new JUnit4TestAdapter(DHCPOptionTest.class);
      }
 
  @Test (expected=IllegalArgumentException.class)
  public void testConstructorFailPad(){
    new DHCPOption(DHO_PAD, null);
  }
View Full Code Here

  public void testConstructorFailPad(){
    new DHCPOption(DHO_PAD, null);
  }
  @Test (expected=IllegalArgumentException.class)
  public void testConstructorFailEnd(){
    new DHCPOption(DHO_END, null);
  }
View Full Code Here

TOP

Related Classes of org.dhcp4java.DHCPOption

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.