Revision: 12657
Author: brainslog
Date: Mon Jun 21 09:53:04 2010
Log: JUnit for Issue #1555

Update Issue 1555
Committed jUnit for this issue.

http://code.google.com/p/mobicents/source/detail?r=12657

Modified:
/trunk/servers/diameter/testsuite/tests/src/test/java/org/mobicents/slee/resources/diameter/tests/factories/BaseFactoriesTest.java

=======================================
--- /trunk/servers/diameter/testsuite/tests/src/test/java/org/mobicents/slee/resources/diameter/tests/factories/BaseFactoriesTest.java Fri Apr 16 12:06:39 2010 +++ /trunk/servers/diameter/testsuite/tests/src/test/java/org/mobicents/slee/resources/diameter/tests/factories/BaseFactoriesTest.java Mon Jun 21 09:53:04 2010
@@ -39,8 +39,14 @@
 import static org.jdiameter.client.impl.helpers.Parameters.RealmTable;
 import static org.jdiameter.client.impl.helpers.Parameters.VendorId;
 import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
+
+import java.util.ArrayList;
+import java.util.List;
+
 import net.java.slee.resource.diameter.base.events.AbortSessionAnswer;
 import net.java.slee.resource.diameter.base.events.AbortSessionRequest;
 import net.java.slee.resource.diameter.base.events.AccountingAnswer;
@@ -55,7 +61,8 @@
 import net.java.slee.resource.diameter.base.events.ReAuthRequest;
import net.java.slee.resource.diameter.base.events.SessionTerminationAnswer; import net.java.slee.resource.diameter.base.events.SessionTerminationRequest;
-import net.java.slee.resource.diameter.base.events.avp.AvpUtilities;
+import net.java.slee.resource.diameter.base.events.avp.DiameterAvp;
+import net.java.slee.resource.diameter.base.events.avp.DiameterAvpCodes;
 import net.java.slee.resource.diameter.base.events.avp.DiameterIdentity;
import net.java.slee.resource.diameter.base.events.avp.ExperimentalResultAvp;
 import net.java.slee.resource.diameter.base.events.avp.ProxyInfoAvp;
@@ -63,7 +70,6 @@

 import org.jdiameter.api.Stack;
 import org.jdiameter.client.impl.helpers.EmptyConfiguration;
-import org.jdiameter.client.impl.parser.MessageParser;
 import org.junit.Assert;
 import org.junit.Test;
 import org.mobicents.diameter.dictionary.AvpDictionary;
@@ -497,6 +503,71 @@
Assert.assertEquals("Created Vendor-Specific-Application-Id AVP from getters should be equal to original.", vsaidAvp1, vsaidAvp3);
   }

+  @Test
+  public void testMessageCreationVendorSpecificApplicationIdAvp() {
+ // Relates to Issue #1555 (http://code.google.com/p/mobicents/issues/detail?id=1555)
+    List<DiameterAvp> avps = new ArrayList<DiameterAvp>();
+
+    try {
+      long vendorId = 2312L;
+      long acctApplicationId = 23121L;
+
+ DiameterAvp avpVendorId = avpFactory.createAvp(DiameterAvpCodes.VENDOR_ID, vendorId); + DiameterAvp avpAcctApplicationId = avpFactory.createAvp(DiameterAvpCodes.ACCT_APPLICATION_ID, acctApplicationId);
+
+ avps.add(avpFactory.createAvp(DiameterAvpCodes.VENDOR_SPECIFIC_APPLICATION_ID, new DiameterAvp[] { avpVendorId, avpAcctApplicationId }));
+
+      DiameterAvp[] avpArray = new DiameterAvp[avps.size()];
+      avpArray = avps.toArray(avpArray);
+
+ AccountingRequest acr = messageFactory.createAccountingRequest(avpArray);
+
+ VendorSpecificApplicationIdAvp vsaidAvp = acr.getVendorSpecificApplicationId(); + assertNotNull("Vendor-Specific-Application-Id should be present in message.", vsaidAvp);
+
+      // hack: vendor id is Avp vendor-id value, need to do this way.
+      long msgAppVendorId = vsaidAvp.getVendorIdsAvp()[0];
+ assertTrue("Vendor-Specific-Application-Id / Vendor-Id should be [" + vendorId + "] it is [" + msgAppVendorId + "]", vendorId == msgAppVendorId);
+
+      long msgAppId = vsaidAvp.getAcctApplicationId();
+ assertTrue("Vendor-Specific-Application-Id / Acct-Application-Id should be [" + acctApplicationId + "] it is [" + msgAppId + "]", acctApplicationId == msgAppId);
+
+    }
+    catch (Exception e) {
+      e.printStackTrace();
+      fail(e.getLocalizedMessage());
+    }
+  }
+
+  @Test
+  public void testMessageCreationApplicationIdAvp() {
+ // Relates to Issue #1555 (http://code.google.com/p/mobicents/issues/detail?id=1555)
+    List<DiameterAvp> avps = new ArrayList<DiameterAvp>();
+
+    try {
+      long acctApplicationId = 23121L;
+
+ DiameterAvp avpAcctApplicationId = avpFactory.createAvp(DiameterAvpCodes.ACCT_APPLICATION_ID, acctApplicationId);
+
+      avps.add(avpAcctApplicationId);
+
+      DiameterAvp[] avpArray = new DiameterAvp[avps.size()];
+      avpArray = avps.toArray(avpArray);
+
+ AccountingRequest acr = messageFactory.createAccountingRequest(avpArray);
+
+ VendorSpecificApplicationIdAvp vsaidAvp = acr.getVendorSpecificApplicationId(); + assertNull("Vendor-Specific-Application-Id should not be present in message.", vsaidAvp);
+
+      long msgAppId = acr.getAcctApplicationId();
+ assertTrue("Acct-Application-Id should be [" + acctApplicationId + "] it is [" + msgAppId + "]", acctApplicationId == msgAppId);
+    }
+    catch (Exception e) {
+      e.printStackTrace();
+      fail(e.getLocalizedMessage());
+    }
+  }
+
   /**
    * Class representing the Diameter Configuration
    */

Reply via email to