Author: elecharny
Date: Tue May  3 16:26:48 2005
New Revision: 168020

URL: http://svn.apache.org/viewcvs?rev=168020&view=rev
Log:
Added a test case with req Flags.

Modified:
    
directory/sandbox/trunk/asn1-new-codec/src/test/org/apache/asn1/spnego/codec/SpnegoTest.java

Modified: 
directory/sandbox/trunk/asn1-new-codec/src/test/org/apache/asn1/spnego/codec/SpnegoTest.java
URL: 
http://svn.apache.org/viewcvs/directory/sandbox/trunk/asn1-new-codec/src/test/org/apache/asn1/spnego/codec/SpnegoTest.java?rev=168020&r1=168019&r2=168020&view=diff
==============================================================================
--- 
directory/sandbox/trunk/asn1-new-codec/src/test/org/apache/asn1/spnego/codec/SpnegoTest.java
 (original)
+++ 
directory/sandbox/trunk/asn1-new-codec/src/test/org/apache/asn1/spnego/codec/SpnegoTest.java
 Tue May  3 16:26:48 2005
@@ -400,6 +400,99 @@
     }
 
     /**
+     * Test the decoding of a Spnego NegTokenInit with all req flags set to 
true .
+     */
+    public void testDecodeSpnegoNegTokenInitReqFlagsTrue()
+    {
+        Asn1Decoder spnegoDecoder = new SpnegoDecoder();
+
+        ByteBuffer  stream      = ByteBuffer.allocate( 0x0A );
+        stream.put(
+            new byte[]
+            {
+                (byte)0xA0, 0x08,                                      // 
SPNEGO --> CHOICE {
+                                                                               
        //      negTokenInit  [0]  NegTokenInit
+                0x30, 0x06,                                            // 
NegTokenInit ::= SEQUENCE {
+                (byte)0xA1, 0x04,                                      // 
ContextFlags  OPTIONAL,
+                0x03, 0x02, 0x01, (byte)0xF7           // ContextFlags ::= 
BIT_STRING {
+                                                                               
                        // delegFlag     (0),
+                                                                               
                        // mutualFlag    (1),
+                                                                               
                        // replayFlag    (2),
+                                                                               
                        // sequenceFlag  (3),
+                                                                               
                        // anonFlag      (4),
+                                                                               
                        // confFlag      (5),
+                                                                               
                        // integFlag     (6)
+            } );
+
+        stream.flip();
+
+        // Allocate a Spnego Container
+        IAsn1Container spnegoContainer = null;
+
+        try
+        {
+            spnegoContainer = ( IAsn1Container ) spnegoDecoder.allocate(
+                    SpnegoPoolEnum.SPNEGO_CONTAINER_POOL );
+        }
+        catch ( PoolException pe )
+        {
+            Assert.fail("Cannot allocat a SpnegoContainer : " + 
pe.getMessage());
+        }
+
+        spnegoContainer.setPoolManager( spnegoDecoder.getPoolManager() );
+
+        try
+        {
+            spnegoDecoder.decode( stream, spnegoContainer );
+        }
+        catch ( DecoderException de )
+        {
+            de.printStackTrace();
+            Assert.fail( de.getMessage() );
+        }
+       
+        SpnegoPOJO spnego = ( ( SpnegoContainer ) spnegoContainer 
).getSpnego();
+
+        // Checks the Oids
+        OID oids[] = ((SpnegoNegTokenInitPOJO)spnego).getMechTypeList();
+        int nbOids = 0;
+        
+        for ( int i = 0 ; i < oids.length ; i++ )
+        {
+            if (oids[i] == null)
+            {
+                break;
+            }
+            
+            nbOids ++;
+        }
+        
+        Assert.assertEquals(0, nbOids);
+        
+        // Check the reqFlags
+        Assert.assertEquals(true, 
((SpnegoNegTokenInitPOJO)spnego).isAnonFlag());
+        Assert.assertEquals(true, 
((SpnegoNegTokenInitPOJO)spnego).isConfFlag());
+        Assert.assertEquals(true, 
((SpnegoNegTokenInitPOJO)spnego).isDelegFlag());
+        Assert.assertEquals(true, 
((SpnegoNegTokenInitPOJO)spnego).isIntegFlag());
+        Assert.assertEquals(true, 
((SpnegoNegTokenInitPOJO)spnego).isMutualFlag());
+        Assert.assertEquals(true, 
((SpnegoNegTokenInitPOJO)spnego).isReplayFlag());
+        Assert.assertEquals(true, 
((SpnegoNegTokenInitPOJO)spnego).isSequenceFlag());
+
+        // Check the mech token
+        OctetString mechToken = 
((SpnegoNegTokenInitPOJO)spnego).getMechToken();
+        
+        Assert.assertEquals(null, mechToken);
+
+        // Check the mech list MIC
+        Assert.assertEquals(null, 
((SpnegoNegTokenInitPOJO)spnego).getMechListMIC());
+
+        // Free the BindRequest Container. It will be put back in the IPool
+        // after being reset.
+        spnegoContainer.free();
+    }
+
+    
+    /**
      * Test the decoding of a Spnego NegTokenInit with an empty mech token .
      */
     public void testDecodeSpnegoNegTokenInitEmptyMechToken()


Reply via email to