Package org.jgroups.tests

Source Code of org.jgroups.tests.InetAddressChecksTest$IPCHECK

package org.jgroups.tests;

import org.jgroups.Event;
import org.jgroups.Global ;
import org.jgroups.conf.ProtocolConfiguration;
import org.jgroups.stack.Protocol;
import org.jgroups.stack.ProtocolStack;
import org.jgroups.stack.Configurator ;
import org.jgroups.stack.Configurator.InetAddressInfo;
import org.jgroups.annotations.Property;
import org.jgroups.util.Util ;

import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;

import java.util.*;
import java.net.InetAddress ;

/**
* Tests checks made on InetAddress and related addresses in Configurator.
* @author Richard Achmatowicz
*/
@Test(groups=Global.FUNCTIONAL,sequential=true)
public class InetAddressChecksTest {
  ProtocolStack stack = null;
  Protocol protocol = null ;
  static final String ipCheckNoConsistentProps="org.jgroups.tests.InetAddressChecksTest$IPCHECK(" +
                "inetAddress1=127.0.0.1;inetAddress2=::1;inetAddress3=192.168.0.100;i=3)" ;
  static final String ipCheckConsistentProps="org.jgroups.tests.InetAddressChecksTest$IPCHECK(" +
                "inetAddress1=127.0.0.1;inetAddress2=127.0.0.1;inetAddress3=192.168.0.100;i=3)" ;
           
  List<String> order = new LinkedList<String>() ;

  @BeforeMethod
  void setUp() {
    stack=new ProtocolStack();
  }

  /*
   * Checks IP version mechanism for inconsistent version processing
   */
  @Test(expectedExceptions=RuntimeException.class)
  public void testIPVersionCheckingNoConsistentVersion() throws Exception {

    Vector<ProtocolConfiguration> protocol_configs = new Vector<ProtocolConfiguration>() ;
    Vector<Protocol> protocols = new Vector<Protocol>() ;
   
    // create the layer described by IPCHECK
    protocol = Configurator.createProtocol(ipCheckNoConsistentProps, stack) ;
    // process the defaults
    protocol_configs.add(new ProtocolConfiguration(ipCheckNoConsistentProps)) ;
    protocols.add(protocol) ;
   
        Map<String, Map<String,InetAddressInfo>> inetAddressMap = null ;
    try {
          inetAddressMap = Configurator.createInetAddressMap(protocol_configs, protocols) ;
            Collection<InetAddress> addrs=Configurator.getAddresses(inetAddressMap);
          Configurator.determineIpVersionFromAddresses(addrs) ;
    }
    catch(RuntimeException e) {
      System.out.println("Expected exception received: " + e.getMessage()) ;
      throw e ;
    }
   
    // get the value which should have been assigned a default
    InetAddress a = ((IPCHECK)protocol).getInetAddress1() ;
    System.out.println("value of inetAddress1 = " + a) ;
   
    InetAddress b = ((IPCHECK)protocol).getInetAddress2() ;
    System.out.println("value of inetAddress2 = " + b) ;
   
    InetAddress c = ((IPCHECK)protocol).getInetAddress3() ;
    System.out.println("value of inetAddress3 = " + c) ;
   
  }

  /*
   * Checks IP version mechanism for consistent version processing
   */
  public void testIPVersionCheckingConsistentVersion() throws Exception {

    Vector<ProtocolConfiguration> protocol_configs = new Vector<ProtocolConfiguration>() ;
    Vector<Protocol> protocols = new Vector<Protocol>() ;
   
    // create the layer described by IPCHECK
    protocol = Configurator.createProtocol(ipCheckConsistentProps, stack) ;
    // process the defaults
    protocol_configs.add(new ProtocolConfiguration(ipCheckConsistentProps)) ;
    protocols.add(protocol) ;
   
    Map<String, Map<String,InetAddressInfo>> inetAddressMap = null ;

    inetAddressMap = Configurator.createInetAddressMap(protocol_configs, protocols) ;
        Collection<InetAddress> addrs=Configurator.getAddresses(inetAddressMap);
    Configurator.determineIpVersionFromAddresses(addrs) ;

    // get the value which should have been assigned a default
    InetAddress a = ((IPCHECK)protocol).getInetAddress1() ;
    System.out.println("value of inetAddress1 = " + a) ;
   
    InetAddress b = ((IPCHECK)protocol).getInetAddress2() ;
    System.out.println("value of inetAddress2 = " + b) ;
   
    InetAddress c = ((IPCHECK)protocol).getInetAddress3() ;
    System.out.println("value of inetAddress3 = " + c) ;
   
  }
  /*
   * Checks which IP stacks are available on the platform
   */
  public static void testWhichIPStacksAvailable() throws Exception {

    boolean isIPv4 = Util.isStackAvailable(true);
    boolean isIPv6 = Util.isStackAvailable(false);
   
    System.out.println("isIPv4 = " + isIPv4);
    System.out.println("isIPv6 = " + isIPv6);
  }

 
  public static class IPCHECK extends Protocol {

    @Property(name="inetAddress1")
    InetAddress inetAddress1 ;

        public InetAddress getInetAddress1() {
      return inetAddress1 ;
    }
    @Property(name="inetAddress2")
    InetAddress inetAddress2 ; 
    public InetAddress getInetAddress2() {
      return inetAddress2 ;
    }
    @Property(name="inetAddress3")
    InetAddress inetAddress3 ; 
    public InetAddress getInetAddress3() {
      return inetAddress3 ;
    }
   
    @Property(description="wilma")
    int i = 0 ;
   
    // do nothing
    public Object down(Event evt) {
      return down_prot.down(evt);
    }
    // do nothing
    public Object up(Event evt) {
      return up_prot.up(evt);
    }
  }
 
}        
TOP

Related Classes of org.jgroups.tests.InetAddressChecksTest$IPCHECK

TOP
Copyright © 2018 www.massapi.com. 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.