public void testSignedSupportingToken() throws Exception {
    String fileName = "security/SignedSupportingTokenAssertion.xml";
    Policy policy = unmarshalPolicy(fileName);
    Iterator<AssertionSet> itr = policy.iterator();
    if (itr.hasNext()) {
      AssertionSet as = itr.next();
      for (PolicyAssertion assertion : as) {
        assertEquals(
            "Invalid assertion", "SignedSupportingTokens", assertion.getName().getLocalPart());
        SignedSupportingTokens sst = (SignedSupportingTokens) assertion;

        AlgorithmSuite aSuite = (AlgorithmSuite) sst.getAlgorithmSuite();
        assertEquals(
            "Unmatched Algorithm",
            aSuite.getEncryptionAlgorithm(),
            AlgorithmSuiteValue.TripleDesRsa15.getEncAlgorithm());

        Iterator itrTkn = sst.getTokens();
        if (itrTkn.hasNext()) {
          assertTrue(
              ((com.sun.xml.ws.security.policy.UserNameToken) itrTkn.next())
                  .getType()
                  .equals(com.sun.xml.ws.security.policy.UserNameToken.WSS_USERNAME_TOKEN_10));
        }
        Iterator itrSparts = sst.getSignedElements();
        if (itrSparts.hasNext()) {
          SignedElements se = (SignedElements) itrSparts.next();
          assertTrue(hasXPathTarget("//soapEnv:Body", se.getTargets()));
          assertTrue(hasXPathTarget("//addr:To", se.getTargets()));
          assertTrue(hasXPathTarget("//addr:From", se.getTargets()));
          assertTrue(hasXPathTarget("//addr:RealtesTo", se.getTargets()));
        }
      }
    }
  }
 public void testSpnegoContextToken() throws Exception {
   String fileName = "security/SpnegoContextTokenAssertions.xml";
   Policy policy = unmarshalPolicy(fileName);
   Iterator<AssertionSet> itr = policy.iterator();
   if (itr.hasNext()) {
     AssertionSet as = itr.next();
     for (PolicyAssertion assertion : as) {
       assertEquals("Invalid assertion", "SpnegoContextToken", assertion.getName().getLocalPart());
       SpnegoContextToken sct = (SpnegoContextToken) assertion;
       assertTrue(sct.isRequireDerivedKeys());
     }
   } else {
     throw new Exception("No Assertions found!. Unmarshalling of " + fileName + " failed!");
   }
 }