test/jdk/com/sun/jndi/dns/AttributeTests/GetAny.java
changeset 51192 499b873761d8
parent 49127 73385a708426
equal deleted inserted replaced
51191:96fae3a62612 51192:499b873761d8
    26  * @bug 8195976
    26  * @bug 8195976
    27  * @summary Tests that we can get the attributes of a DNS entry using special
    27  * @summary Tests that we can get the attributes of a DNS entry using special
    28  *          qualifiers.
    28  *          qualifiers.
    29  * @modules java.base/sun.security.util
    29  * @modules java.base/sun.security.util
    30  * @library ../lib/
    30  * @library ../lib/
    31  * @build DNSTestUtils DNSServer DNSTracer
       
    32  * @run main GetAny
    31  * @run main GetAny
    33  */
    32  */
    34 
    33 
    35 import javax.naming.directory.Attributes;
    34 import javax.naming.directory.Attributes;
    36 import javax.naming.directory.DirContext;
       
    37 import javax.naming.directory.InitialDirContext;
       
    38 import java.net.DatagramSocket;
       
    39 import java.net.InetAddress;
       
    40 import java.util.Hashtable;
       
    41 
    35 
    42 public class GetAny {
    36 public class GetAny extends GetAttrsBase {
    43     private static final String KEY = "host1";
       
    44 
    37 
    45     private static final String[] MANDATORY = { "A", "MX", "HINFO", "TXT", "29"
    38     public static void main(String[] args) throws Exception {
    46             // "LOC"
    39         new GetAny().run(args);
    47     };
    40     }
    48 
    41 
    49     private static final String[] OPTIONAL = {};
    42     @Override public Attributes getAttributes() {
       
    43         return null;
       
    44     }
    50 
    45 
    51     public static void main(String argv[]) throws Exception {
    46     @Override public void runTest() throws Exception {
    52         // Create socket on localhost only to avoid possible noise packet
    47         initContext();
    53         DatagramSocket socket = new DatagramSocket(0,
       
    54                 InetAddress.getLoopbackAddress());
       
    55 
    48 
    56         // initialize test
    49         // Any type from IN class
    57         Hashtable<Object, Object> env;
    50         Attributes retAttrs = context()
       
    51                 .getAttributes(getKey(), new String[] { "*" });
       
    52         verifyAttributes(retAttrs);
    58 
    53 
    59         env = DNSTestUtils.initEnv(socket, GetAny.class.getName(), argv);
    54         retAttrs = context().getAttributes(getKey(), new String[] { "* *" });
       
    55         verifyAttributes(retAttrs);
    60 
    56 
    61         DirContext ctx = null;
    57         retAttrs = context().getAttributes(getKey(), new String[] { "IN *" });
    62 
    58         verifyAttributes(retAttrs);
    63         try {
       
    64             // connect to server
       
    65             ctx = new InitialDirContext(env);
       
    66 
       
    67             // Any type from IN class
       
    68             Attributes retAttrs = ctx.getAttributes(KEY, new String[] { "*" });
       
    69             DNSTestUtils.verifySchema(retAttrs, MANDATORY, OPTIONAL);
       
    70 
       
    71             retAttrs = ctx.getAttributes(KEY, new String[] { "* *" });
       
    72             DNSTestUtils.verifySchema(retAttrs, MANDATORY, OPTIONAL);
       
    73 
       
    74             retAttrs = ctx.getAttributes(KEY, new String[] { "IN *" });
       
    75             DNSTestUtils.verifySchema(retAttrs, MANDATORY, OPTIONAL);
       
    76 
       
    77         } finally {
       
    78             DNSTestUtils.cleanup(ctx);
       
    79         }
       
    80     }
    59     }
    81 }
    60 }