/android/client-frwk/Examples/TestAPKLIBContainer/src/org/societies/android/platform/content/TestCSSRecordDAO.java

https://github.com/societies/SOCIETIES-Platform · Java · 208 lines · 163 code · 45 blank · 0 comment · 4 complexity · b8a775a70793f27d67739e25f6349b9d MD5 · raw file

  1. package org.societies.android.platform.content;
  2. import org.societies.android.api.internal.cssmanager.AndroidCSSNode;
  3. import org.societies.android.api.internal.cssmanager.AndroidCSSRecord;
  4. import org.societies.api.internal.css.management.CSSManagerEnums;
  5. import android.test.AndroidTestCase;
  6. public class TestCSSRecordDAO extends AndroidTestCase {
  7. public static final String TEST_IDENTITY_1 = "node11";
  8. public static final String TEST_IDENTITY_2 = "node22";
  9. public static final String TEST_IDENTITY_3 = "node3";
  10. public static final String TEST_IDENTITY = "CSSProfile1";
  11. public static final String TEST_UPDATE_IDENTITY = "CSSProfilealt";
  12. public static final String TEST_INACTIVE_DATE = "20121029";
  13. public static final String TEST_REGISTERED_DATE = "20120229";
  14. public static final int TEST_UPTIME = 7799;
  15. public static final String TEST_EMAIL = "somebody@tssg.org";
  16. public static final String TEST_UPDATE_EMAIL = "altsomebody@tssg.org";
  17. public static final String TEST_FORENAME = "4Name";
  18. public static final String TEST_HOME_LOCATION = "The Hearth";
  19. public static final String TEST_IDENTITY_NAME = "Id Name";
  20. public static final String TEST_IM_ID = "somebody.tssg.org";
  21. public static final String TEST_NAME = "The CSS";
  22. public static final String TEST_PASSWORD = "P455W0RD";
  23. public static final String TEST_SOCIAL_URI = "sombody@fb.com";
  24. private AndroidCSSNode cssNode_1, cssNode_2, cssNode_3;
  25. private AndroidCSSNode cssNodes [];
  26. private AndroidCSSNode cssArchivedNodes [];
  27. private AndroidCSSNode cssUpdateNodes [];
  28. private AndroidCSSNode cssUpdateArchivedNodes [];
  29. private AndroidCSSRecord cssProfile;
  30. protected void setUp() throws Exception {
  31. super.setUp();
  32. getContext().deleteDatabase(CssRecordDAO.SOCIETIES_DATABASE_NAME);
  33. cssNode_1 = new AndroidCSSNode();
  34. cssNode_1.setIdentity(TEST_IDENTITY_1);
  35. cssNode_1.setStatus(CSSManagerEnums.nodeStatus.Available.ordinal());
  36. cssNode_1.setType(CSSManagerEnums.nodeType.Rich.ordinal());
  37. cssNode_2 = new AndroidCSSNode();
  38. cssNode_2.setIdentity(TEST_IDENTITY_2);
  39. cssNode_2.setStatus(CSSManagerEnums.nodeStatus.Hibernating.ordinal());
  40. cssNode_2.setType(CSSManagerEnums.nodeType.Android.ordinal());
  41. cssNode_3 = new AndroidCSSNode();
  42. cssNode_3.setIdentity(TEST_IDENTITY_3);
  43. cssNode_3.setStatus(CSSManagerEnums.nodeStatus.Unavailable.ordinal());
  44. cssNode_3.setType(CSSManagerEnums.nodeType.Cloud.ordinal());
  45. cssNodes = new AndroidCSSNode[2];
  46. cssNodes[0] = cssNode_1;
  47. cssNodes[1] = cssNode_2;
  48. cssArchivedNodes = new AndroidCSSNode[2];
  49. cssArchivedNodes[0] = cssNode_1;
  50. cssArchivedNodes[1] = cssNode_2;
  51. cssProfile = new AndroidCSSRecord();
  52. cssProfile.setCSSNodes(cssNodes);
  53. cssProfile.setArchiveCSSNodes(cssArchivedNodes);
  54. cssProfile.setCssIdentity(TEST_IDENTITY);
  55. cssProfile.setCssInactivation(TEST_INACTIVE_DATE);
  56. cssProfile.setCssRegistration(TEST_REGISTERED_DATE);
  57. cssProfile.setStatus(CSSManagerEnums.cssStatus.Active.ordinal());
  58. cssProfile.setCssUpTime(TEST_UPTIME);
  59. cssProfile.setEmailID(TEST_EMAIL);
  60. cssProfile.setEntity(CSSManagerEnums.entityType.Organisation.ordinal());
  61. cssProfile.setForeName(TEST_FORENAME);
  62. cssProfile.setHomeLocation(TEST_HOME_LOCATION);
  63. cssProfile.setIdentityName(TEST_IDENTITY_NAME);
  64. cssProfile.setImID(TEST_IM_ID);
  65. cssProfile.setName(TEST_NAME);
  66. cssProfile.setPassword(TEST_PASSWORD);
  67. cssProfile.setPresence(CSSManagerEnums.presenceType.Available.ordinal());
  68. cssProfile.setSex(CSSManagerEnums.genderType.Unspecified.ordinal());
  69. cssProfile.setSocialURI(TEST_SOCIAL_URI);
  70. assertEquals(cssArchivedNodes.length, cssProfile.getArchivedCSSNodes().length);
  71. assertEquals(cssArchivedNodes[0].getIdentity(), cssProfile.getArchivedCSSNodes()[0].getIdentity());
  72. assertEquals(TEST_IDENTITY, cssProfile.getCssIdentity());
  73. assertEquals(TEST_INACTIVE_DATE, cssProfile.getCssInactivation());
  74. assertEquals(cssNodes.length, cssProfile.getCSSNodes().length);
  75. assertEquals(cssNodes[0].getIdentity(), cssProfile.getCSSNodes()[0].getIdentity());
  76. assertEquals(TEST_REGISTERED_DATE, cssProfile.getCssRegistration());
  77. assertEquals(CSSManagerEnums.cssStatus.Active.ordinal(), cssProfile.getStatus());
  78. assertEquals(TEST_UPTIME, cssProfile.getCssUpTime());
  79. assertEquals(TEST_EMAIL, cssProfile.getEmailID());
  80. assertEquals(CSSManagerEnums.entityType.Organisation.ordinal(), cssProfile.getEntity());
  81. assertEquals(TEST_FORENAME, cssProfile.getForeName());
  82. assertEquals(TEST_HOME_LOCATION, cssProfile.getHomeLocation());
  83. assertEquals(TEST_IDENTITY_NAME, cssProfile.getIdentityName());
  84. assertEquals(TEST_IM_ID, cssProfile.getImID());
  85. assertEquals(TEST_NAME, cssProfile.getName());
  86. assertEquals(TEST_PASSWORD, cssProfile.getPassword());
  87. assertEquals(CSSManagerEnums.presenceType.Available.ordinal(), cssProfile.getPresence());
  88. assertEquals(CSSManagerEnums.genderType.Unspecified.ordinal(), cssProfile.getSex());
  89. assertEquals(TEST_SOCIAL_URI, cssProfile.getSocialURI());
  90. }
  91. protected void tearDown() throws Exception {
  92. cssNode_1 = null;
  93. cssNode_2 = null;
  94. cssNode_3 = null;
  95. cssNodes = null;
  96. cssArchivedNodes = null;
  97. cssProfile = null;
  98. super.tearDown();
  99. }
  100. public void testCRUCssRecord() throws Exception {
  101. CssRecordDAO cssRecordDAO = new CssRecordDAO(getContext());
  102. assertTrue(null != cssRecordDAO);
  103. cssRecordDAO.insertCSSRecord(this.cssProfile);
  104. this.readValidate(cssRecordDAO);
  105. cssUpdateArchivedNodes = new AndroidCSSNode[3];
  106. cssUpdateArchivedNodes[0] = cssNode_1;
  107. cssUpdateArchivedNodes[1] = cssNode_2;
  108. cssUpdateArchivedNodes[2] = cssNode_3;
  109. cssUpdateNodes = new AndroidCSSNode[3];
  110. cssUpdateNodes[0] = cssNode_1;
  111. cssUpdateNodes[1] = cssNode_2;
  112. cssUpdateNodes[2] = cssNode_3;
  113. this.cssProfile.setCssIdentity(TEST_UPDATE_IDENTITY);
  114. this.cssProfile.setEmailID(TEST_UPDATE_EMAIL);
  115. this.cssProfile.setCSSNodes(cssUpdateNodes);
  116. this.cssProfile.setArchiveCSSNodes(cssUpdateArchivedNodes);
  117. cssRecordDAO.updateCSSRecord(this.cssProfile);
  118. this.readValidate(cssRecordDAO);
  119. }
  120. public void testInvalidRead() throws Exception {
  121. CssRecordDAO cssRecordDAO = new CssRecordDAO(getContext());
  122. assertTrue(null != cssRecordDAO);
  123. assertTrue(!cssRecordDAO.cssRecordExists());
  124. assertNull(cssRecordDAO.readCSSrecord());
  125. }
  126. public void testInvalidInsert() throws Exception {
  127. CssRecordDAO cssRecordDAO = new CssRecordDAO(getContext());
  128. assertTrue(null != cssRecordDAO);
  129. cssRecordDAO.insertCSSRecord(this.cssProfile);
  130. assertTrue(cssRecordDAO.cssRecordExists());
  131. assertTrue(!cssRecordDAO.insertCSSRecord(this.cssProfile));
  132. }
  133. public void testInvalidUpdate() throws Exception {
  134. CssRecordDAO cssRecordDAO = new CssRecordDAO(getContext());
  135. assertTrue(null != cssRecordDAO);
  136. assertTrue(!cssRecordDAO.updateCSSRecord(this.cssProfile));
  137. }
  138. private void readValidate(CssRecordDAO cssRecordDAO) {
  139. assertTrue(cssRecordDAO.cssRecordExists());
  140. AndroidCSSRecord storedRecord = cssRecordDAO.readCSSrecord();
  141. assertNotNull(storedRecord);
  142. assertEquals(this.cssProfile.getCssHostingLocation(), storedRecord.getCssHostingLocation());
  143. assertEquals(this.cssProfile.getCSSNodes().length, storedRecord.getCSSNodes().length);
  144. assertEquals(this.cssProfile.getArchivedCSSNodes().length, storedRecord.getArchivedCSSNodes().length);
  145. assertEquals(this.cssProfile.getCssIdentity(), storedRecord.getCssIdentity());
  146. assertEquals(this.cssProfile.getCssInactivation(), storedRecord.getCssInactivation());
  147. assertEquals(this.cssProfile.getCssRegistration(), storedRecord.getCssRegistration());
  148. assertEquals(this.cssProfile.getCssUpTime(), storedRecord.getCssUpTime());
  149. assertEquals(this.cssProfile.getDomainServer(), storedRecord.getDomainServer());
  150. assertEquals(this.cssProfile.getEmailID(), storedRecord.getEmailID());
  151. assertEquals(this.cssProfile.getEntity(), storedRecord.getEntity());
  152. assertEquals(this.cssProfile.getForeName(), storedRecord.getForeName());
  153. assertEquals(this.cssProfile.getHomeLocation(), storedRecord.getHomeLocation());
  154. assertEquals(this.cssProfile.getIdentityName(), storedRecord.getIdentityName());
  155. assertEquals(this.cssProfile.getImID(), storedRecord.getImID());
  156. assertEquals(this.cssProfile.getName(), storedRecord.getName());
  157. assertEquals(this.cssProfile.getPassword(), storedRecord.getPassword());
  158. assertEquals(this.cssProfile.getPresence(), storedRecord.getPresence());
  159. assertEquals(this.cssProfile.getSex(), storedRecord.getSex());
  160. assertEquals(this.cssProfile.getSocialURI(), storedRecord.getSocialURI());
  161. assertEquals(this.cssProfile.getStatus(), storedRecord.getStatus());
  162. }
  163. }