You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@rave.apache.org by mf...@apache.org on 2011/04/01 18:42:42 UTC
svn commit: r1087796 [18/37] - in /incubator/rave/donations/mitre-osec: ./
conf/ db/ db/data/ db/sequences/ db/tables/ lib/ lib/apache-commons/
lib/apache-taglibs/ lib/build/ lib/build/cobertura/ lib/eclipselink/
lib/freemarker/ lib/google-collections/...
Added: incubator/rave/donations/mitre-osec/test/unit/java/org/mitre/portal/repository/PageRepositoryTest.java
URL: http://svn.apache.org/viewvc/incubator/rave/donations/mitre-osec/test/unit/java/org/mitre/portal/repository/PageRepositoryTest.java?rev=1087796&view=auto
==============================================================================
--- incubator/rave/donations/mitre-osec/test/unit/java/org/mitre/portal/repository/PageRepositoryTest.java (added)
+++ incubator/rave/donations/mitre-osec/test/unit/java/org/mitre/portal/repository/PageRepositoryTest.java Fri Apr 1 16:42:22 2011
@@ -0,0 +1,409 @@
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.mitre.portal.repository;
+
+import java.util.ArrayList;
+import java.util.List;
+import org.junit.Before;
+import org.junit.Ignore;
+import org.junit.Test;
+import static org.junit.Assert.*;
+import org.mitre.portal.model.Container;
+import org.mitre.portal.model.Page;
+import org.mitre.portal.model.PageLayout;
+import org.mitre.portal.model.Region;
+import org.mitre.portal.model.RegionGadget;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.dao.IncorrectResultSizeDataAccessException;
+import org.springframework.dao.InvalidDataAccessApiUsageException;
+import org.springframework.orm.jpa.JpaSystemException;
+import org.springframework.test.annotation.Rollback;
+import org.springframework.test.context.ContextConfiguration;
+import org.springframework.test.context.junit4.AbstractTransactionalJUnit4SpringContextTests;
+import org.springframework.transaction.annotation.Transactional;
+
+/**
+ *
+ * @author ACARLUCCI
+ */
+@ContextConfiguration(locations={"classpath:org/mitre/portal/system-test-config.xml"})
+@Transactional(readOnly=true)
+public class PageRepositoryTest extends AbstractTransactionalJUnit4SpringContextTests {
+ @Autowired
+ private PageRepository pageRepository;
+
+ // test data
+ private final Long VALID_ID = 1L;
+ private final Long VALID_CONTAINER_ID = 1L;
+ private final String VALID_NAME = "Home";
+ private final String VALID_USER_ID = "100";
+ private final long VALID_RENDER_SEQ = 1L;
+ private final Long VALID_PAGE_LAYOUT_ID = 2L;
+ private final Long INVALID_ID = -1L;
+ private Container validContainer;
+ private Container invalidContainer;
+ private PageLayout validPageLayout;
+ private PageLayout invalidPageLayout;
+ private final Long VALID_TO_PAGE_ID= 2L;
+
+ private final Long INVALID_CONTAINER_ID = -1L;
+ private final String INVALID_NAME = "QQQQQQQQZXZX";
+ private final String INVALID_USER_ID = "00000";
+ private final Long INVALID_PAGE_LAYOUT_ID = -1L;
+
+
+ @Before
+ public void setup() {
+ validContainer = new Container(VALID_CONTAINER_ID);
+ invalidContainer = new Container(INVALID_CONTAINER_ID);
+ validPageLayout = new PageLayout(VALID_PAGE_LAYOUT_ID);
+ invalidPageLayout = new PageLayout(INVALID_PAGE_LAYOUT_ID);
+ }
+
+ @Test
+ public void get_validId_validPage() {
+ Page result = pageRepository.get(VALID_ID);
+ assertNotNull(result);
+ assertEquals(VALID_ID, result.getPageId());
+ assertEquals(validContainer, result.getContainer());
+ assertEquals(VALID_NAME, result.getName());
+ assertEquals(VALID_USER_ID, result.getUserId());
+ assertEquals(VALID_RENDER_SEQ, result.getRenderSeq());
+ assertEquals(VALID_PAGE_LAYOUT_ID, result.getPageLayout().getPageLayoutId());
+ }
+
+ @Test(expected = IncorrectResultSizeDataAccessException.class)
+ public void get_invalidId_exception() {
+ Page result = pageRepository.get(INVALID_ID);
+ }
+
+ @Test(expected = InvalidDataAccessApiUsageException.class)
+ public void get_nullId_exception() {
+ Page result = pageRepository.get(null);
+ }
+
+ @Test
+ public void find_validContainer_validPageName_validUserId_validPage() {
+ Page page = pageRepository.find(validContainer, VALID_NAME, VALID_USER_ID);
+ assertNotNull(page);
+ assertEquals(validContainer, page.getContainer());
+ assertEquals(VALID_NAME, page.getName());
+ assertEquals(VALID_USER_ID, page.getUserId());
+ assertEquals(VALID_ID, page.getPageId());
+ }
+
+ @Test
+ public void find_invalidContainer_validPageName_validUserId_nullPage() {
+ Page page = pageRepository.find(invalidContainer, VALID_NAME, VALID_USER_ID);
+ assertNull(page);
+ }
+
+ @Test
+ public void find_nullContainer_validPageName_validUserId_nullPage() {
+ Page page = pageRepository.find(null, VALID_NAME, VALID_USER_ID);
+ assertNull(page);
+ }
+
+ @Test
+ public void find_validContainer_invalidPageName_validUserId_nullPage() {
+ Page page = pageRepository.find(validContainer, INVALID_NAME, VALID_USER_ID);
+ assertNull(page);
+ }
+
+ @Test
+ public void find_validContainer_nullPageName_validUserId_nullPage() {
+ Page page = pageRepository.find(validContainer, null, VALID_USER_ID);
+ assertNull(page);
+ }
+
+ @Test
+ public void find_validContainer_validPageName_invalidUserId_nullPage() {
+ Page page = pageRepository.find(validContainer, VALID_NAME, INVALID_USER_ID);
+ assertNull(page);
+ }
+
+ @Test
+ public void find_validContainer_validPageName_nullUserId_nullPage() {
+ Page page = pageRepository.find(validContainer, VALID_NAME, null);
+ assertNull(page);
+ }
+
+ @Test
+ public void find_validContainer_validUserId_validPageList() {
+ List<Page> list = pageRepository.find(validContainer, VALID_USER_ID);
+ assertNotNull(list);
+ assertFalse(list.isEmpty());
+ for (Page p : list) {
+ assertEquals(VALID_USER_ID, p.getUserId());
+ assertEquals(validContainer, p.getContainer());
+ }
+ }
+
+ @Test
+ public void find_invalidContainer_validUserId_emptyPageList() {
+ List<Page> list = pageRepository.find(invalidContainer, VALID_USER_ID);
+ assertNotNull(list);
+ assertTrue(list.isEmpty());
+ }
+
+ @Test
+ public void find_nullContainer_validUserId_emptyPageList() {
+ List<Page> list = pageRepository.find(null, VALID_USER_ID);
+ assertNotNull(list);
+ assertTrue(list.isEmpty());
+ }
+
+ @Test
+ public void find_validContainer_invalidUserId_emptyPageList() {
+ List<Page> list = pageRepository.find(validContainer, INVALID_USER_ID);
+ assertNotNull(list);
+ assertTrue(list.isEmpty());
+ }
+
+ @Test
+ public void find_validContainer_nullUserId_emptyPageList() {
+ List<Page> list = pageRepository.find(validContainer, null);
+ assertNotNull(list);
+ assertTrue(list.isEmpty());
+ }
+
+ @Test
+ public void findDefault_validContainer_validUserId_validPage() {
+ Page p = pageRepository.findDefault(validContainer, VALID_USER_ID);
+ assertNotNull(p);
+ assertEquals(VALID_USER_ID, p.getUserId());
+ assertEquals(validContainer, p.getContainer());
+ assertEquals(VALID_RENDER_SEQ, p.getRenderSeq());
+ }
+
+ @Test
+ public void findDefault_invalidContainer_validUserId_nullPage() {
+ Page p = pageRepository.findDefault(invalidContainer, VALID_USER_ID);
+ assertNull(p);
+ }
+
+ @Test
+ public void findDefault_nullContainer_validUserId_nullPage() {
+ Page p = pageRepository.findDefault(null, VALID_USER_ID);
+ assertNull(p);
+ }
+
+ @Test
+ public void findDefault_validContainer_invalidUserId_nullPage() {
+ Page p = pageRepository.findDefault(validContainer, INVALID_USER_ID);
+ assertNull(p);
+ }
+
+ @Test
+ public void findDefault_validContainer_nullUserId_nullPage() {
+ Page p = pageRepository.findDefault(validContainer, null);
+ assertNull(p);
+ }
+
+ @Test
+ @Transactional(readOnly=false)
+ @Rollback(true)
+ public void save_validPageNullId() {
+ String newPageName = "A NEW PAGE";
+ int newRenderSeq = 4;
+
+ Page p = new Page();
+ p.setContainer(validContainer);
+ p.setName(newPageName);
+ p.setPageLayout(validPageLayout);
+ p.setRenderSeq(newRenderSeq);
+ p.setUserId(VALID_USER_ID);
+
+ List<Region> regionList = new ArrayList<Region>();
+ for (int i = 1; i <= 2; i++) {
+ Region r = new Region();
+ r.setPage(p);
+ r.setName("region_" + i);
+ regionList.add(r);
+ }
+ p.setRegionList(regionList);
+
+ assertNull(p.getPageId());
+ pageRepository.save(p);
+ assertNotNull(p.getPageId());
+ assertTrue("new pageId > 0", p.getPageId() > 0);
+ }
+
+ @Test
+ @Transactional(readOnly=false)
+ @Rollback(true)
+ public void save_validPageNullIdFirstPage() {
+ String newPageName = "A NEW PAGE";
+
+ Page p = new Page();
+ p.setContainer(validContainer);
+ p.setName(newPageName);
+ p.setPageLayout(validPageLayout);
+ p.setUserId("dummy");
+
+ List<Region> regionList = new ArrayList<Region>();
+ for (int i = 1; i <= 2; i++) {
+ Region r = new Region();
+ r.setPage(p);
+ r.setName("region_" + i);
+ regionList.add(r);
+ }
+ p.setRegionList(regionList);
+
+ assertNull(p.getPageId());
+ pageRepository.save(p);
+ assertNotNull(p.getPageId());
+ assertTrue("new pageId > 0", p.getPageId() > 0);
+ assertEquals(1, p.getRenderSeq());
+ }
+
+ @Test
+ @Transactional(readOnly=false)
+ @Rollback(true)
+ public void save_validPageExistingId() {
+ final String NEW_PAGE_NAME = "New Page Name";
+
+ Page p = pageRepository.get(VALID_ID);
+ p.setName(NEW_PAGE_NAME);
+ pageRepository.save(p);
+
+ Page p2 = pageRepository.get(VALID_ID);
+ assertEquals(NEW_PAGE_NAME, p2.getName());
+ }
+
+ @Test(expected = IllegalArgumentException.class)
+ @Transactional(readOnly=false)
+ @Rollback(true)
+ public void save_nullPage_exception() {
+ pageRepository.save(null);
+ }
+
+ @Test (expected = JpaSystemException.class)
+ @Transactional(readOnly=false)
+ @Rollback(true)
+ public void save_duplicatePageName_exception() {
+ final String DUPLICATE_PAGE_NAME = "acarlucci Custom Page";
+
+ Page p = pageRepository.get(VALID_ID);
+ p.setName(DUPLICATE_PAGE_NAME);
+ pageRepository.save(p);
+ }
+
+ @Test
+ @Transactional(readOnly=false)
+ @Rollback(true)
+ public void delete_validPage() {
+ Page p = pageRepository.get(VALID_ID);
+ pageRepository.delete(p);
+
+ boolean gotExpectedException = false;
+ try {
+ Page p2 = pageRepository.get(VALID_ID);
+ }
+ catch (IncorrectResultSizeDataAccessException e) {
+ gotExpectedException = true;
+ }
+
+ if (!gotExpectedException)
+ fail("page delete did not work - get method found id after delete!");
+
+ // make sure sequence numbers are updated
+ List<Page> list = pageRepository.find(validContainer, VALID_USER_ID);
+ for (int i = 0; i < list.size(); i++) {
+ assertEquals(i+1, list.get(i).getRenderSeq());
+ }
+ }
+
+ @Test
+ @Transactional(readOnly=false)
+ @Rollback(true)
+ public void delete_invalidPage() {
+ Page p = new Page(INVALID_ID);
+ pageRepository.delete(p);
+ }
+
+ @Test
+ @Transactional(readOnly=false)
+ @Rollback(true)
+ public void delete_nullPage() {
+ pageRepository.delete(null);
+ }
+
+ // TODO - this can't be tested until h2 supports deferrable constraints
+ @Test
+ @Ignore
+ @Transactional(readOnly=false)
+ @Rollback(true)
+ public void updatePageRenderSequences_validPageList() {
+ List<Page> list = pageRepository.find(validContainer, VALID_USER_ID);
+
+ // swap the first and second pages
+ Page firstPage = list.get(0);
+ Page secondPage = list.remove(1);
+ list.add(0, secondPage);
+ pageRepository.updatePageRenderSequences(list);
+
+ // verify render sequences have been updated
+ List<Page> list2 = pageRepository.find(validContainer, VALID_USER_ID);
+ assertEquals(secondPage.getPageId(), list2.get(0).getPageId());
+ assertEquals(1, list2.get(0).getRenderSeq());
+ assertEquals(firstPage.getPageId(), list2.get(1).getPageId());
+ assertEquals(2, list2.get(1).getRenderSeq());
+ }
+
+ @Test
+ @Transactional(readOnly=false)
+ @Rollback(true)
+ public void updatePageRenderSequences_emptyPageList() {
+ pageRepository.updatePageRenderSequences(new ArrayList<Page>());
+ }
+
+ @Test
+ @Transactional(readOnly=false)
+ @Rollback(true)
+ public void updatePageRenderSequences_nullPageList() {
+ pageRepository.updatePageRenderSequences(null);
+ }
+
+ @Test
+ @Transactional(readOnly=false)
+ @Rollback(true)
+ public void move_validRegionGadget_validRegionId_validRenderSequence() {
+ final int TO_REGION_SEQUENCE = 2;
+
+ Page p = pageRepository.get(VALID_ID);
+ Region fromRegion = p.getRegionList().get(2);
+ int beforeFromGadgetCount = fromRegion.getRegionGadgetList().size();
+ Region toRegion = p.getRegionList().get(0);
+ int beforeToGadgetCount = toRegion.getRegionGadgetList().size();
+
+ RegionGadget rg = fromRegion.getRegionGadgetList().get(1);
+ pageRepository.move(rg, toRegion.getRegionId(), TO_REGION_SEQUENCE);
+
+ Page p2 = pageRepository.get(VALID_ID);
+ Region fromRegion2 = p.getRegionList().get(2);
+ Region toRegion2 = p.getRegionList().get(0);
+ assertEquals(beforeFromGadgetCount - 1, fromRegion2.getRegionGadgetList().size());
+ assertEquals(beforeToGadgetCount + 1, toRegion2.getRegionGadgetList().size());
+ assertEquals(rg.getRegionGadgetId(), toRegion.getRegionGadgetList().get(1).getRegionGadgetId());
+ }
+
+}
\ No newline at end of file
Propchange: incubator/rave/donations/mitre-osec/test/unit/java/org/mitre/portal/repository/PageRepositoryTest.java
------------------------------------------------------------------------------
svn:executable = *
Added: incubator/rave/donations/mitre-osec/test/unit/java/org/mitre/portal/repository/PageTemplateOwnerTypeRepositoryTest.java
URL: http://svn.apache.org/viewvc/incubator/rave/donations/mitre-osec/test/unit/java/org/mitre/portal/repository/PageTemplateOwnerTypeRepositoryTest.java?rev=1087796&view=auto
==============================================================================
--- incubator/rave/donations/mitre-osec/test/unit/java/org/mitre/portal/repository/PageTemplateOwnerTypeRepositoryTest.java (added)
+++ incubator/rave/donations/mitre-osec/test/unit/java/org/mitre/portal/repository/PageTemplateOwnerTypeRepositoryTest.java Fri Apr 1 16:42:22 2011
@@ -0,0 +1,75 @@
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.mitre.portal.repository;
+
+import java.util.List;
+import org.junit.Test;
+import static org.junit.Assert.*;
+import org.mitre.portal.model.PageTemplateOwnerType;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.dao.IncorrectResultSizeDataAccessException;
+import org.springframework.dao.InvalidDataAccessApiUsageException;
+import org.springframework.test.context.ContextConfiguration;
+import org.springframework.test.context.junit4.AbstractTransactionalJUnit4SpringContextTests;
+import org.springframework.transaction.annotation.Transactional;
+
+/**
+ *
+ * @author ACARLUCCI
+ */
+@ContextConfiguration(locations={"classpath:org/mitre/portal/system-test-config.xml"})
+@Transactional(readOnly=true)
+public class PageTemplateOwnerTypeRepositoryTest extends AbstractTransactionalJUnit4SpringContextTests {
+ @Autowired
+ private PageTemplateOwnerTypeRepository pageTemplateOwnerTypeRepository;
+
+ // test data
+ private final String VALID_CODE = "ORG";
+ private final String VALID_NAME = "Organization";
+ private final String INVALID_CODE = "ZZZQQQ";
+
+ @Test
+ public void get_validCode_validPageTemplateOwnerType() {
+ PageTemplateOwnerType result = pageTemplateOwnerTypeRepository.get(VALID_CODE);
+ assertNotNull(result);
+ assertEquals(VALID_CODE, result.getCode());
+ assertEquals(VALID_NAME, result.getName());
+ }
+
+ @Test(expected = IncorrectResultSizeDataAccessException.class)
+ public void get_invalidCode_exception() {
+ PageTemplateOwnerType result = pageTemplateOwnerTypeRepository.get(INVALID_CODE);
+ }
+
+ @Test(expected = InvalidDataAccessApiUsageException.class)
+ public void get_nullId_exception() {
+ PageTemplateOwnerType result = pageTemplateOwnerTypeRepository.get(null);
+ }
+
+ @Test
+ public void findAll_validList()
+ {
+ List<PageTemplateOwnerType> list = pageTemplateOwnerTypeRepository.findAll();
+ assertNotNull(list);
+ assertFalse("list is not empty", list.isEmpty());
+ }
+
+}
\ No newline at end of file
Propchange: incubator/rave/donations/mitre-osec/test/unit/java/org/mitre/portal/repository/PageTemplateOwnerTypeRepositoryTest.java
------------------------------------------------------------------------------
svn:executable = *
Added: incubator/rave/donations/mitre-osec/test/unit/java/org/mitre/portal/repository/PageTemplateRepositoryTest.java
URL: http://svn.apache.org/viewvc/incubator/rave/donations/mitre-osec/test/unit/java/org/mitre/portal/repository/PageTemplateRepositoryTest.java?rev=1087796&view=auto
==============================================================================
--- incubator/rave/donations/mitre-osec/test/unit/java/org/mitre/portal/repository/PageTemplateRepositoryTest.java (added)
+++ incubator/rave/donations/mitre-osec/test/unit/java/org/mitre/portal/repository/PageTemplateRepositoryTest.java Fri Apr 1 16:42:22 2011
@@ -0,0 +1,190 @@
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.mitre.portal.repository;
+
+import java.util.List;
+import org.junit.Before;
+import org.junit.Test;
+import static org.junit.Assert.*;
+import org.mitre.portal.model.Container;
+import org.mitre.portal.model.PageLayout;
+import org.mitre.portal.model.PageTemplate;
+import org.mitre.portal.model.PageTemplateOwnerType;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.dao.IncorrectResultSizeDataAccessException;
+import org.springframework.dao.InvalidDataAccessApiUsageException;
+import org.springframework.test.context.ContextConfiguration;
+import org.springframework.test.context.junit4.AbstractTransactionalJUnit4SpringContextTests;
+import org.springframework.transaction.annotation.Transactional;
+
+/**
+ *
+ * @author ACARLUCCI
+ */
+@ContextConfiguration(locations={"classpath:org/mitre/portal/system-test-config.xml"})
+@Transactional(readOnly=true)
+public class PageTemplateRepositoryTest extends AbstractTransactionalJUnit4SpringContextTests {
+ @Autowired
+ private PageTemplateRepository pageTemplateRepository;
+
+ // test data
+ private final Long VALID_ID = 1L;
+ private final Long VALID_CONTAINER_ID = 1L;
+ private final Long VALID_PAGE_LAYOUT_ID = 1L;
+ private final String VALID_PAGE_TEMPLATE_OWNER_TYPE_CODE = "ORG";
+ private final String VALID_PAGE_NAME = "Empty";
+ private final String VALID_DESC = "Blank empty page.";
+ private Container validContainer;
+ private Container invalidContainer;
+ private PageLayout validPageLayout;
+ private PageLayout invalidPageLayout;
+ private PageTemplateOwnerType validPageTemplateOwnerType;
+ private PageTemplateOwnerType invalidPageTemplateOwnerType;
+
+ private final Long INVALID_ID = -1L;
+ private final Long INVALID_CONTAINER_ID = -1L;
+ private final Long INVALID_PAGE_LAYOUT_ID = -1L;
+ private final String INVALID_PAGE_TEMPLATE_OWNER_TYPE_CODE = "QQQ123";
+ private final String INVALID_PAGE_NAME = "OEWOWEO";
+
+ @Before
+ public void setup() {
+ validContainer = new Container(VALID_CONTAINER_ID);
+ invalidContainer = new Container(INVALID_CONTAINER_ID);
+ validPageLayout = new PageLayout(VALID_PAGE_LAYOUT_ID);
+ invalidPageLayout = new PageLayout(INVALID_PAGE_LAYOUT_ID);
+ validPageTemplateOwnerType = new PageTemplateOwnerType(VALID_PAGE_TEMPLATE_OWNER_TYPE_CODE);
+ invalidPageTemplateOwnerType = new PageTemplateOwnerType(INVALID_PAGE_TEMPLATE_OWNER_TYPE_CODE);
+ }
+
+ @Test
+ public void get_validId_validPageTemplate() {
+ PageTemplate result = pageTemplateRepository.get(VALID_ID);
+ assertNotNull(result);
+ assertEquals(VALID_ID, result.getPageTemplateId());
+ assertEquals(validContainer, result.getContainer());
+ assertEquals(VALID_PAGE_LAYOUT_ID, result.getPageLayout().getPageLayoutId());
+ assertEquals(VALID_PAGE_NAME, result.getName());
+ assertEquals(VALID_PAGE_TEMPLATE_OWNER_TYPE_CODE, result.getPageTemplateOwnerType().getCode());
+ assertEquals(VALID_DESC, result.getDescription());
+ }
+
+ @Test(expected = IncorrectResultSizeDataAccessException.class)
+ public void get_invalidId_exception() {
+ PageTemplate result = pageTemplateRepository.get(INVALID_ID);
+ }
+
+ @Test(expected = InvalidDataAccessApiUsageException.class)
+ public void get_nullId_exception() {
+ PageTemplate result = pageTemplateRepository.get(null);
+ }
+
+ @Test
+ public void getDefault_validPageTemplate() {
+ PageTemplate result = pageTemplateRepository.getDefault();
+ assertNotNull(result);
+ assertTrue(result.getPageTemplateId() > 0);
+ assertTrue(result.isDefaultTemplate());
+ }
+
+ @Test
+ public void find_validContainer_validPageName_validPageTemplate() {
+ PageTemplate pageTemplate = pageTemplateRepository.find(validContainer, VALID_PAGE_NAME);
+ assertNotNull(pageTemplate);
+ assertEquals(VALID_ID, pageTemplate.getPageTemplateId());
+ assertEquals(validContainer.getContainerId(), pageTemplate.getContainer().getContainerId());
+ assertEquals(VALID_PAGE_LAYOUT_ID, pageTemplate.getPageLayout().getPageLayoutId());
+ assertEquals(VALID_PAGE_NAME, pageTemplate.getName());
+ assertEquals(VALID_PAGE_TEMPLATE_OWNER_TYPE_CODE, pageTemplate.getPageTemplateOwnerType().getCode());
+ }
+
+ @Test
+ public void find_invalidContainer_validPageName_nullPageTemplate() {
+ PageTemplate pageTemplate = pageTemplateRepository.find(invalidContainer, VALID_PAGE_NAME);
+ assertNull(pageTemplate);
+ }
+
+ @Test
+ public void find_nullContainer_validPageName_nullPageTemplate() {
+ PageTemplate pageTemplate = pageTemplateRepository.find(null, VALID_PAGE_NAME);
+ assertNull(pageTemplate);
+ }
+
+ @Test
+ public void find_validContainer_invalidPageName_nullPageTemplate() {
+ PageTemplate pageTemplate = pageTemplateRepository.find(validContainer, INVALID_PAGE_NAME);
+ assertNull(pageTemplate);
+ }
+
+ @Test
+ public void find_validContainer_nullPageName_nullPageTemplate() {
+ String nullPageName = null;
+ PageTemplate pageTemplate = pageTemplateRepository.find(validContainer, nullPageName);
+ assertNull(pageTemplate);
+ }
+
+ @Test
+ public void find_validContainer_validPageTemplateOwnerType_validList() {
+ List<PageTemplate> list = pageTemplateRepository.find(validContainer, validPageTemplateOwnerType);
+ assertNotNull(list);
+ assertFalse("list is not empty", list.isEmpty());
+ for (PageTemplate pt : list) {
+ assertEquals(validContainer.getContainerId(), pt.getContainer().getContainerId());
+ assertEquals(validPageTemplateOwnerType.getCode(), pt.getPageTemplateOwnerType().getCode());
+ }
+ }
+
+ @Test
+ public void find_invalidContainer_validPageTemplateOwnerType_emptyList() {
+ List<PageTemplate> list = pageTemplateRepository.find(invalidContainer, validPageTemplateOwnerType);
+ assertNotNull(list);
+ assertTrue("list is empty", list.isEmpty());
+ }
+
+ @Test
+ public void find_nullContainer_validPageTemplateOwnerType_emptyList() {
+ List<PageTemplate> list = pageTemplateRepository.find(null, validPageTemplateOwnerType);
+ assertNotNull(list);
+ assertTrue("list is empty", list.isEmpty());
+ }
+
+ @Test
+ public void find_validContainer_invalidPageTemplateOwnerType_emptyList() {
+ List<PageTemplate> list = pageTemplateRepository.find(validContainer, invalidPageTemplateOwnerType);
+ assertNotNull(list);
+ assertTrue("list is empty", list.isEmpty());
+ }
+
+ @Test
+ public void find_validContainer_nullPageTemplateOwnerType_emptyList() {
+ PageTemplateOwnerType ptot = null;
+ List<PageTemplate> list = pageTemplateRepository.find(validContainer, ptot);
+ assertNotNull(list);
+ assertTrue("list is empty", list.isEmpty());
+ }
+
+ @Test
+ public void findAll_validList() {
+ List<PageTemplate> list = pageTemplateRepository.findAll();
+ assertNotNull(list);
+ assertFalse(list.isEmpty());
+ }
+}
\ No newline at end of file
Propchange: incubator/rave/donations/mitre-osec/test/unit/java/org/mitre/portal/repository/PageTemplateRepositoryTest.java
------------------------------------------------------------------------------
svn:executable = *
Added: incubator/rave/donations/mitre-osec/test/unit/java/org/mitre/portal/repository/PersonGadgetRepositoryTest.java
URL: http://svn.apache.org/viewvc/incubator/rave/donations/mitre-osec/test/unit/java/org/mitre/portal/repository/PersonGadgetRepositoryTest.java?rev=1087796&view=auto
==============================================================================
--- incubator/rave/donations/mitre-osec/test/unit/java/org/mitre/portal/repository/PersonGadgetRepositoryTest.java (added)
+++ incubator/rave/donations/mitre-osec/test/unit/java/org/mitre/portal/repository/PersonGadgetRepositoryTest.java Fri Apr 1 16:42:22 2011
@@ -0,0 +1,188 @@
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.mitre.portal.repository;
+
+import org.mitre.portal.repository.PersonGadgetRepository;
+import java.util.List;
+import org.junit.Test;
+import org.mitre.portal.model.Gadget;
+import static org.junit.Assert.*;
+import org.mitre.portal.model.PersonGadget;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.dao.IncorrectResultSizeDataAccessException;
+import org.springframework.dao.InvalidDataAccessApiUsageException;
+import org.springframework.test.annotation.Rollback;
+import org.springframework.test.context.ContextConfiguration;
+import org.springframework.test.context.junit4.AbstractTransactionalJUnit4SpringContextTests;
+import org.springframework.transaction.annotation.Transactional;
+
+/**
+ *
+ * @author ACARLUCCI
+ */
+@ContextConfiguration(locations={"classpath:org/mitre/portal/system-test-config.xml"})
+@Transactional(readOnly=true)
+public class PersonGadgetRepositoryTest extends AbstractTransactionalJUnit4SpringContextTests {
+ @Autowired
+ private PersonGadgetRepository personGadgetRepository;
+
+ // test data
+ private final Long VALID_ID = 1L;
+ private final Long VALID_GADGET_ID = 1L;
+ private final String VALID_USER_ID = "100";
+ private final Long INVALID_ID = -1L;
+ private final String INVALID_USER_ID = "00000";
+ private final Long INVALID_GADGET_ID = -1L;
+
+ @Test
+ public void get_validId_validPageTemplate() {
+ PersonGadget result = personGadgetRepository.get(VALID_ID);
+ assertNotNull(result);
+ assertEquals(VALID_ID, result.getPersonGadgetId());
+ assertEquals(VALID_GADGET_ID, result.getGadget().getGadgetId());
+ assertEquals(VALID_USER_ID, result.getUserId());
+ }
+
+ @Test(expected = IncorrectResultSizeDataAccessException.class)
+ public void get_invalidId_exception() {
+ PersonGadget result = personGadgetRepository.get(INVALID_ID);
+ }
+
+ @Test(expected = InvalidDataAccessApiUsageException.class)
+ public void get_nullId_exception() {
+ PersonGadget result = personGadgetRepository.get(null);
+ }
+
+ @Test
+ public void find_validUserId_validList() {
+ List<PersonGadget> list = personGadgetRepository.find(VALID_USER_ID);
+ assertNotNull(list);
+ assertFalse("list is not empty", list.isEmpty());
+ for (PersonGadget pg : list) {
+ assertEquals(VALID_USER_ID, pg.getUserId());
+ }
+ }
+
+ @Test
+ public void find_invalidUserId_emptyList() {
+ List<PersonGadget> list = personGadgetRepository.find(INVALID_USER_ID);
+ assertNotNull(list);
+ assertTrue("list is empty", list.isEmpty());
+ }
+
+ @Test
+ public void find_nullUserId_emptyList() {
+ String s = null;
+ List<PersonGadget> list = personGadgetRepository.find(s);
+ assertNotNull(list);
+ assertTrue("list is empty", list.isEmpty());
+ }
+
+ @Test
+ public void find_validGadget_validList() {
+ Gadget gadget = new Gadget(VALID_GADGET_ID);
+ List<PersonGadget> list = personGadgetRepository.find(gadget);
+ assertNotNull(list);
+ assertFalse("list is not empty", list.isEmpty());
+ for (PersonGadget pg : list) {
+ assertEquals(VALID_GADGET_ID, pg.getGadget().getGadgetId());
+ }
+ }
+
+ @Test
+ public void find_invalidGadget_emptyList() {
+ Gadget gadget = new Gadget(INVALID_GADGET_ID);
+ List<PersonGadget> list = personGadgetRepository.find(gadget);
+ assertNotNull(list);
+ assertTrue("list is empty", list.isEmpty());
+ }
+
+ @Test
+ public void find_nullGadget_emptyList() {
+ Gadget g = null;
+ List<PersonGadget> list = personGadgetRepository.find(g);
+ assertNotNull(list);
+ assertTrue("list is empty", list.isEmpty());
+ }
+
+ @Test(expected = IncorrectResultSizeDataAccessException.class)
+ @Transactional(readOnly=false)
+ @Rollback(true)
+ public void delete_validPersonGadget() {
+ PersonGadget pg = personGadgetRepository.get(VALID_ID);
+ personGadgetRepository.delete(pg);
+
+ PersonGadget pg2 = personGadgetRepository.get(VALID_ID);
+ }
+
+ @Test
+ @Transactional(readOnly=false)
+ @Rollback(true)
+ public void delete_invalidPersonGadget() {
+ PersonGadget pg = new PersonGadget(INVALID_ID);
+ personGadgetRepository.delete(pg);
+ }
+
+ @Test
+ @Transactional(readOnly=false)
+ @Rollback(true)
+ public void delete_nullPersonGadget() {
+ personGadgetRepository.delete(null);
+ }
+
+ @Test
+ @Transactional(readOnly=false)
+ @Rollback(true)
+ public void save_validPersonGadgetNullId() {
+ final Long newGadgetId = 1L;
+
+ PersonGadget newPersonGadget = new PersonGadget();
+ newPersonGadget.setGadget(new Gadget(newGadgetId));
+ newPersonGadget.setUserId(VALID_USER_ID);
+
+ assertNull(newPersonGadget.getPersonGadgetId());
+ personGadgetRepository.save(newPersonGadget);
+ assertNotNull(newPersonGadget.getPersonGadgetId());
+ assertTrue("new personGadgetId > 0", newPersonGadget.getPersonGadgetId() > 0);
+ }
+
+ @Test
+ @Transactional(readOnly=false)
+ @Rollback(true)
+ public void save_validPersonGadgetExistingId() {
+ final String NEW_USER_ID = "99999";
+
+ PersonGadget pg = personGadgetRepository.get(VALID_ID);
+ assertNotNull(pg);
+ pg.setUserId(NEW_USER_ID);
+ personGadgetRepository.save(pg);
+
+ PersonGadget pg2 = personGadgetRepository.get(VALID_ID);
+ assertEquals(NEW_USER_ID, pg2.getUserId());
+ }
+
+ @Test(expected = IllegalArgumentException.class)
+ @Transactional(readOnly=false)
+ @Rollback(true)
+ public void save_nullPersoGadget_exception() {
+ personGadgetRepository.save(null);
+ }
+}
\ No newline at end of file
Propchange: incubator/rave/donations/mitre-osec/test/unit/java/org/mitre/portal/repository/PersonGadgetRepositoryTest.java
------------------------------------------------------------------------------
svn:executable = *
Added: incubator/rave/donations/mitre-osec/test/unit/java/org/mitre/portal/repository/PersonRepositoryTest.java
URL: http://svn.apache.org/viewvc/incubator/rave/donations/mitre-osec/test/unit/java/org/mitre/portal/repository/PersonRepositoryTest.java?rev=1087796&view=auto
==============================================================================
--- incubator/rave/donations/mitre-osec/test/unit/java/org/mitre/portal/repository/PersonRepositoryTest.java (added)
+++ incubator/rave/donations/mitre-osec/test/unit/java/org/mitre/portal/repository/PersonRepositoryTest.java Fri Apr 1 16:42:22 2011
@@ -0,0 +1,73 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.mitre.portal.repository;
+
+import org.junit.Test;
+import org.mitre.portal.model.Person;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.dao.IncorrectResultSizeDataAccessException;
+import org.springframework.test.context.ContextConfiguration;
+import org.springframework.test.context.junit4.AbstractTransactionalJUnit4SpringContextTests;
+import org.springframework.transaction.annotation.Transactional;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+
+/**
+ * @author ACARLUCCI
+ */
+@ContextConfiguration(locations = {"classpath:org/mitre/portal/system-test-config.xml"})
+@Transactional(readOnly = true)
+public class PersonRepositoryTest extends AbstractTransactionalJUnit4SpringContextTests {
+ @Autowired
+ private PersonRepository personRepository;
+
+ // test data
+ private final String VALID_USERNAME = "acarlucci";
+ private final String VALID_USER_ID = "100";
+ private final String INVALID_USERNAME = "qqq";
+ private final String INVALID_USER_ID = "-1";
+
+ @Test
+ public void getPersonByUsername_validUsername() {
+ Person person = personRepository.getPersonByUsername(VALID_USERNAME);
+ assertNotNull(person);
+ assertEquals(VALID_USERNAME, person.getUsername());
+ assertEquals(VALID_USER_ID, person.getUserId());
+ }
+
+ @Test(expected = IncorrectResultSizeDataAccessException.class)
+ public void getPersonByUsername_invalidUsername() {
+ personRepository.getPersonByUsername(INVALID_USERNAME);
+ }
+
+ @Test
+ public void getPersonByUserId_validUserId() {
+ Person person = personRepository.getPersonByUserId(VALID_USER_ID);
+ assertNotNull(person);
+ assertEquals(VALID_USERNAME, person.getUsername());
+ assertEquals(VALID_USER_ID, person.getUserId());
+ }
+
+ @Test(expected = IncorrectResultSizeDataAccessException.class)
+ public void getPersonByUserId_invalidUserId() {
+ personRepository.getPersonByUserId(INVALID_USER_ID);
+ }
+}
\ No newline at end of file
Propchange: incubator/rave/donations/mitre-osec/test/unit/java/org/mitre/portal/repository/PersonRepositoryTest.java
------------------------------------------------------------------------------
svn:executable = *
Added: incubator/rave/donations/mitre-osec/test/unit/java/org/mitre/portal/repository/RegionGadgetRepositoryTest.java
URL: http://svn.apache.org/viewvc/incubator/rave/donations/mitre-osec/test/unit/java/org/mitre/portal/repository/RegionGadgetRepositoryTest.java?rev=1087796&view=auto
==============================================================================
--- incubator/rave/donations/mitre-osec/test/unit/java/org/mitre/portal/repository/RegionGadgetRepositoryTest.java (added)
+++ incubator/rave/donations/mitre-osec/test/unit/java/org/mitre/portal/repository/RegionGadgetRepositoryTest.java Fri Apr 1 16:42:22 2011
@@ -0,0 +1,228 @@
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.mitre.portal.repository;
+
+import org.mitre.portal.repository.RegionGadgetRepository;
+import java.util.List;
+import java.util.ArrayList;
+import org.junit.Test;
+import org.mitre.portal.model.Gadget;
+import org.mitre.portal.model.PersonGadget;
+import org.mitre.portal.model.Region;
+import static org.junit.Assert.*;
+import org.mitre.portal.model.RegionGadget;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.dao.IncorrectResultSizeDataAccessException;
+import org.springframework.dao.InvalidDataAccessApiUsageException;
+import org.springframework.test.annotation.Rollback;
+import org.springframework.test.context.ContextConfiguration;
+import org.springframework.test.context.junit4.AbstractTransactionalJUnit4SpringContextTests;
+import org.springframework.transaction.annotation.Transactional;
+
+/**
+ *
+ * @author ACARLUCCI
+ */
+@ContextConfiguration(locations={"classpath:org/mitre/portal/system-test-config.xml"})
+@Transactional(readOnly=true)
+public class RegionGadgetRepositoryTest extends AbstractTransactionalJUnit4SpringContextTests {
+ @Autowired
+ private RegionGadgetRepository regionGadgetRepository;
+
+ // test data
+ private final Long VALID_ID = 4L;
+ private final Long VALID_REGION_ID = 3L;
+ private final Long VALID_PERSON_GADGET_ID = 4L;
+ private final long VALID_RENDER_SEQ = 2L;
+ private final boolean VALID_COLLAPSED = false;
+ private final String VALID_USER_ID = "100";
+ private final Long VALID_GADGET_ID = 1L;
+ private final Long VALID_TO_REGION_ID = 1L;
+
+ private final Long INVALID_ID = -1L;
+ private final Long INVALID_REGION_ID = -1L;
+ private final Long INVALID_GADGET_ID = -1L;
+
+
+ @Test
+ public void get_validId_validRegionGadget() {
+ RegionGadget result = regionGadgetRepository.get(VALID_ID);
+ assertNotNull(result);
+ assertEquals(VALID_ID, result.getRegionGadgetId());
+ assertEquals(VALID_PERSON_GADGET_ID, result.getPersonGadget().getPersonGadgetId());
+ assertEquals(VALID_REGION_ID, result.getRegion().getRegionId());
+ assertEquals(VALID_RENDER_SEQ, result.getRenderSeq());
+ assertEquals(VALID_COLLAPSED, result.isCollapsed());
+ }
+
+ @Test(expected = IncorrectResultSizeDataAccessException.class)
+ public void get_invalidId_exception() {
+ RegionGadget result = regionGadgetRepository.get(INVALID_ID);
+ }
+
+ @Test(expected = InvalidDataAccessApiUsageException.class)
+ public void get_nullId_exception() {
+ RegionGadget result = regionGadgetRepository.get(null);
+ }
+
+ @Test
+ public void find_validRegion_validList() {
+ Region region = new Region(VALID_REGION_ID);
+ List<RegionGadget> list = regionGadgetRepository.find(region);
+ assertNotNull(list);
+ assertFalse("list is empty", list.isEmpty());
+ long prevRenderSeq = 0;
+ for (RegionGadget rg : list) {
+ assertEquals(VALID_REGION_ID, rg.getRegion().getRegionId());
+ assertTrue("prev render sequence is less than current", prevRenderSeq < rg.getRenderSeq());
+ prevRenderSeq = rg.getRenderSeq();
+ }
+ }
+
+ @Test
+ public void find_invalidRegion_emptyList() {
+ Region region = new Region(INVALID_REGION_ID);
+ List<RegionGadget> list = regionGadgetRepository.find(region);
+ assertNotNull(list);
+ assertTrue("list is empty", list.isEmpty());
+ }
+
+ @Test
+ public void find_nullRegion_emptyList() {
+ Region r = null;
+ List<RegionGadget> list = regionGadgetRepository.find(r);
+ assertNotNull(list);
+ assertTrue("list is empty", list.isEmpty());
+ }
+
+ @Test
+ public void find_validGadget_validList() {
+ Gadget gadget = new Gadget(VALID_GADGET_ID);
+ List<RegionGadget> list = regionGadgetRepository.find(gadget);
+ assertNotNull(list);
+ assertFalse("list is empty", list.isEmpty());
+ for (RegionGadget rg : list) {
+ assertEquals(VALID_GADGET_ID, rg.getPersonGadget().getGadget().getGadgetId());
+ }
+ }
+
+ @Test
+ public void find_invalidGadget_emptyList() {
+ Gadget gadget = new Gadget(INVALID_GADGET_ID);
+ List<RegionGadget> list = regionGadgetRepository.find(gadget);
+ assertNotNull(list);
+ assertTrue("list is empty", list.isEmpty());
+ }
+
+ @Test
+ public void find_nullGadget_emptyList() {
+ Gadget r = null;
+ List<RegionGadget> list = regionGadgetRepository.find(r);
+ assertNotNull(list);
+ assertTrue("list is empty", list.isEmpty());
+ }
+
+ @Test
+ @Transactional(readOnly=false)
+ @Rollback(true)
+ public void save_validRegionGadgetNullId() {
+ final Long newRegionId = 3L;
+ final long newRenderSeq = 5;
+ final boolean newCollapsed = false;
+ final Long newGadgetId = 1L;
+
+ PersonGadget newPersonGadget = new PersonGadget();
+ newPersonGadget.setGadget(new Gadget(newGadgetId));
+ newPersonGadget.setUserId(VALID_USER_ID);
+
+ Region newRegion = new Region(newRegionId);
+
+ RegionGadget rg = new RegionGadget();
+ rg.setCollapsed(newCollapsed);
+ rg.setPersonGadget(newPersonGadget);
+ rg.setRegion(newRegion);
+ rg.setRenderSeq(newRenderSeq);
+
+ assertNull(rg.getRegionGadgetId());
+ regionGadgetRepository.save(rg);
+ assertNotNull(rg.getRegionGadgetId());
+ assertTrue("new regionGadgetId > 0", rg.getRegionGadgetId() > 0);
+ }
+
+ @Test
+ @Transactional(readOnly=false)
+ @Rollback(true)
+ public void save_validRegionGadgetExistingId() {
+ final boolean NEW_COLLAPSED = true;
+
+ RegionGadget rg = regionGadgetRepository.get(VALID_ID);
+ assertTrue(rg.isCollapsed() == !NEW_COLLAPSED);
+ rg.setCollapsed(NEW_COLLAPSED);
+ regionGadgetRepository.save(rg);
+
+ RegionGadget rg2 = regionGadgetRepository.get(VALID_ID);
+ assertEquals(NEW_COLLAPSED, rg2.isCollapsed());
+ }
+
+ @Test(expected = IllegalArgumentException.class)
+ @Transactional(readOnly=false)
+ @Rollback(true)
+ public void save_nullRegionGadget_exception() {
+ regionGadgetRepository.save(null);
+ }
+
+ @Test(expected = IncorrectResultSizeDataAccessException.class)
+ @Transactional(readOnly=false)
+ @Rollback(true)
+ public void delete_validRegionGadget() {
+ RegionGadget rg = regionGadgetRepository.get(VALID_ID);
+ regionGadgetRepository.delete(rg);
+
+ RegionGadget rg2 = regionGadgetRepository.get(VALID_ID);
+ }
+
+ @Test
+ @Transactional(readOnly=false)
+ @Rollback(true)
+ public void delete_invalidRegionGadget() {
+ RegionGadget rg = new RegionGadget(INVALID_ID);
+ regionGadgetRepository.delete(rg);
+ }
+
+ @Test
+ @Transactional(readOnly=false)
+ @Rollback(true)
+ public void delete_nullRegionGadget() {
+ regionGadgetRepository.delete(null);
+ }
+
+ @Test
+ @Transactional(readOnly=false)
+ @Rollback(true)
+ public void move_validRegionGadget() {
+ RegionGadget regionGadget = regionGadgetRepository.get(VALID_ID);
+ Region toRegion = new Region(VALID_TO_REGION_ID);
+ toRegion.setRegionGadgetList(new ArrayList<RegionGadget>());
+ int toRenderSequence = 0;
+
+ regionGadgetRepository.move(regionGadget, toRegion, toRenderSequence);
+ }
+}
\ No newline at end of file
Propchange: incubator/rave/donations/mitre-osec/test/unit/java/org/mitre/portal/repository/RegionGadgetRepositoryTest.java
------------------------------------------------------------------------------
svn:executable = *
Added: incubator/rave/donations/mitre-osec/test/unit/java/org/mitre/portal/repository/RegionRepositoryTest.java
URL: http://svn.apache.org/viewvc/incubator/rave/donations/mitre-osec/test/unit/java/org/mitre/portal/repository/RegionRepositoryTest.java?rev=1087796&view=auto
==============================================================================
--- incubator/rave/donations/mitre-osec/test/unit/java/org/mitre/portal/repository/RegionRepositoryTest.java (added)
+++ incubator/rave/donations/mitre-osec/test/unit/java/org/mitre/portal/repository/RegionRepositoryTest.java Fri Apr 1 16:42:22 2011
@@ -0,0 +1,358 @@
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.mitre.portal.repository;
+
+import org.mitre.portal.repository.RegionRepository;
+import org.mitre.portal.repository.GadgetRepository;
+import java.util.List;
+import org.junit.Test;
+import org.mitre.portal.model.Gadget;
+import org.mitre.portal.model.Page;
+import static org.junit.Assert.*;
+import org.mitre.portal.model.PersonGadget;
+import org.mitre.portal.model.PersonGadgetUserPref;
+import org.mitre.portal.model.PersonGadgetUserPrefListType;
+import org.mitre.portal.model.Region;
+import org.mitre.portal.model.RegionGadget;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.dao.IncorrectResultSizeDataAccessException;
+import org.springframework.dao.InvalidDataAccessApiUsageException;
+import org.springframework.test.annotation.Rollback;
+import org.springframework.test.context.ContextConfiguration;
+import org.springframework.test.context.junit4.AbstractTransactionalJUnit4SpringContextTests;
+import org.springframework.transaction.annotation.Transactional;
+
+/**
+ *
+ * @author ACARLUCCI
+ */
+@ContextConfiguration(locations={"classpath:org/mitre/portal/system-test-config.xml"})
+@Transactional(readOnly=true)
+public class RegionRepositoryTest extends AbstractTransactionalJUnit4SpringContextTests {
+ @Autowired
+ private RegionRepository regionRepository;
+ @Autowired
+ private GadgetRepository gadgetRepository;
+
+ // test data
+ private final Long VALID_ID = 1L;
+ private final String VALID_REGION_NAME = "region_1";
+ private final Long VALID_PAGE_ID = 1L;
+ private final String VALID_USER_ID = "acarlucci";
+ private final Long VALID_GADGET_ID = 6L;
+
+ private final Long INVALID_ID = -1L;
+ private final String INVALID_REGION_NAME = "QQZZSSS";
+ private final Long INVALID_PAGE_ID = -1L;
+ private final Long INVALID_REGION_GADGET_ID = -1L;
+ private final Long INVALID_GADGET_ID = -1L;
+
+ @Test
+ public void get_validId_validRegion() {
+ Region result = regionRepository.get(VALID_ID);
+ assertNotNull(result);
+ assertEquals(VALID_ID, result.getRegionId());
+ assertEquals(VALID_REGION_NAME, result.getName());
+ assertEquals(VALID_PAGE_ID, result.getPage().getPageId());
+ for (RegionGadget rg : result.getRegionGadgetList()) {
+ assertEquals(VALID_ID, rg.getRegion().getRegionId());
+ }
+ }
+
+ @Test(expected = IncorrectResultSizeDataAccessException.class)
+ public void get_invalidId_exception() {
+ Region result = regionRepository.get(INVALID_ID);
+ }
+
+ @Test(expected = InvalidDataAccessApiUsageException.class)
+ public void get_nullId_exception() {
+ Region result = regionRepository.get(null);
+ }
+
+ @Test
+ public void find_validRegionName_validPage_validRegion() {
+ Page p = new Page(VALID_PAGE_ID);
+ Region r = regionRepository.find(VALID_REGION_NAME, p);
+ assertNotNull(r);
+ assertEquals(VALID_PAGE_ID, r.getPage().getPageId());
+ assertEquals(VALID_REGION_NAME, r.getName());
+ assertEquals(VALID_ID, r.getRegionId());
+ }
+
+ @Test
+ public void find_invalidRegionName_validPage_nullRegion() {
+ Page p = new Page(VALID_PAGE_ID);
+ Region r = regionRepository.find(INVALID_REGION_NAME, p);
+ assertNull(r);
+ }
+
+ @Test
+ public void find_nullRegionName_validPage_nullRegion() {
+ Page p = new Page(VALID_PAGE_ID);
+ Region r = regionRepository.find(null, p);
+ assertNull(r);
+ }
+
+ @Test
+ public void find_validRegionName_invalidPage_nullRegion() {
+ Page p = new Page(INVALID_PAGE_ID);
+ Region r = regionRepository.find(VALID_REGION_NAME, p);
+ assertNull(r);
+ }
+
+ @Test
+ public void find_validRegionName_nullPage_nullRegion() {
+ Region r = regionRepository.find(VALID_REGION_NAME, null);
+ assertNull(r);
+ }
+
+ @Test
+ public void find_validPage_validList() {
+ Page p = new Page(VALID_PAGE_ID);
+ List<Region> list = regionRepository.find(p);
+ assertNotNull(list);
+ assertFalse("list is not empty", list.isEmpty());
+ for (Region r : list) {
+ assertEquals(VALID_PAGE_ID, r.getPage().getPageId());
+ }
+ }
+
+ @Test
+ public void find_invalidPage_emptyList() {
+ Page p = new Page(INVALID_PAGE_ID);
+ List<Region> list = regionRepository.find(p);
+ assertNotNull(list);
+ assertTrue("list is empty", list.isEmpty());
+ }
+
+ @Test
+ public void find_nullPage_emptyList() {
+ List<Region> list = regionRepository.find(null);
+ assertNotNull(list);
+ assertTrue("list is empty", list.isEmpty());
+ }
+
+ @Test
+ @Transactional(readOnly=false)
+ @Rollback(true)
+ public void save_validRegionNullId() {
+ Page p = new Page(VALID_PAGE_ID);
+ final String NEW_REGION_NAME = "NEW_REGION_NAME";
+
+ Region r = new Region();
+ r.setName(NEW_REGION_NAME);
+ r.setPage(p);
+
+ assertNull(r.getRegionId());
+ regionRepository.save(r);
+ assertNotNull(r.getRegionId());
+ assertTrue("new region id > 0", r.getRegionId() > 0);
+ }
+
+ @Test
+ @Transactional(readOnly=false)
+ @Rollback(true)
+ public void save_validRegionExistingId() {
+ final String UPDATED_REGION_NAME = "UPDATED_REGION_NAME";
+
+ Region r = regionRepository.get(VALID_ID);
+ r.setName(UPDATED_REGION_NAME);
+ assertNotNull(r.getRegionId());
+ regionRepository.save(r);
+
+ Region r2 = regionRepository.get(VALID_ID);
+ assertEquals(UPDATED_REGION_NAME, r2.getName());
+ }
+
+ @Test(expected = IllegalArgumentException.class)
+ @Transactional(readOnly=false)
+ @Rollback(true)
+ public void save_nullRegion_exception() {
+ regionRepository.save(null);
+ }
+
+ @Test
+ @Transactional(readOnly=false)
+ @Rollback(true)
+ public void delete_validRegionGadget() {
+ Region r = regionRepository.get(VALID_ID);
+
+ List<RegionGadget> regionGadgetList = r.getRegionGadgetList();
+ int beforeSize = regionGadgetList.size();
+ RegionGadget delRegionGadget = regionGadgetList.get(0);
+ Long delRegionGadgetId = delRegionGadget.getRegionGadgetId();
+
+ regionRepository.delete(delRegionGadget);
+
+ Region r2 = regionRepository.get(VALID_ID);
+ assertEquals(beforeSize - 1, r2.getRegionGadgetList().size());
+ for (RegionGadget rg : r2.getRegionGadgetList()) {
+ assertTrue(delRegionGadgetId != rg.getRegionGadgetId());
+ }
+ }
+
+ @Test
+ @Transactional(readOnly=false)
+ @Rollback(true)
+ public void delete_invalidRegionGadget() {
+ RegionGadget delRegionGadget = new RegionGadget();
+ delRegionGadget.setRegionGadgetId(INVALID_REGION_GADGET_ID);
+ regionRepository.delete(delRegionGadget);
+ }
+
+ @Test
+ @Transactional(readOnly=false)
+ @Rollback(true)
+ public void delete_nullRegionGadget() {
+ regionRepository.delete(null);
+ }
+
+ @Test
+ @Transactional(readOnly=false)
+ @Rollback(true)
+ public void move_validRegionGadget_validNewRenderSequence() {
+ final Long VALID_REGION_ID_MULTI_GADGETS = 3L;
+ final int NEW_RENDER_SEQUENCE = 1;
+
+ Region r = regionRepository.get(VALID_REGION_ID_MULTI_GADGETS);
+ RegionGadget rgToMove = r.getRegionGadgetList().get(2);
+ Long rgToMoveId = rgToMove.getRegionGadgetId();
+ regionRepository.move(rgToMove, NEW_RENDER_SEQUENCE);
+
+ Region r2 = regionRepository.get(VALID_REGION_ID_MULTI_GADGETS);
+ for (RegionGadget rg : r2.getRegionGadgetList()) {
+ if (rg.getRegionGadgetId() == rgToMoveId) {
+ assertEquals(NEW_RENDER_SEQUENCE, rg.getRenderSeq());
+ return;
+ }
+ }
+
+ fail("moved RegionGadget not found in list after move");
+ }
+
+ @Test(expected = NullPointerException.class)
+ @Transactional(readOnly=false)
+ @Rollback(true)
+ public void move_invalidRegionGadget_validNewRenderSequence() {
+ final int NEW_RENDER_SEQUENCE = 1;
+
+ RegionGadget rg = new RegionGadget();
+ regionRepository.move(rg, NEW_RENDER_SEQUENCE);
+ }
+
+ @Test(expected = IllegalArgumentException.class)
+ @Transactional(readOnly=false)
+ @Rollback(true)
+ public void move_nullRegionGadget_validNewRenderSequence() {
+ final int NEW_RENDER_SEQUENCE = 1;
+ regionRepository.move(null, NEW_RENDER_SEQUENCE);
+ }
+
+ @Test(expected = IllegalArgumentException.class)
+ @Transactional(readOnly=false)
+ @Rollback(true)
+ public void move_validRegionGadget_invalidNewRenderSequence() {
+ final int INVALID_NEW_RENDER_SEQUENCE = 0;
+ final Long VALID_REGION_ID_MULTI_GADGETS = 3L;
+
+ Region r = regionRepository.get(VALID_REGION_ID_MULTI_GADGETS);
+ RegionGadget rg = r.getRegionGadgetList().get(2);
+ regionRepository.move(rg, INVALID_NEW_RENDER_SEQUENCE);
+ }
+
+ @Test
+ @Transactional(readOnly=false)
+ @Rollback(true)
+ public void addGadget_validRegion_validGadget_validBeginningLocation() {
+ Region r = regionRepository.get(VALID_ID);
+ Gadget g = gadgetRepository.get(VALID_GADGET_ID);
+
+ for (RegionGadget rg : r.getRegionGadgetList()) {
+ assertTrue(VALID_GADGET_ID != rg.getPersonGadget().getGadget().getGadgetId());
+ }
+
+ regionRepository.addGadget(r, g, Region.Location.BEGINNING);
+ Region r2 = regionRepository.get(VALID_ID);
+
+ // verify new gadget is added to beginning of region
+ RegionGadget newRegionGadget = r2.getRegionGadgetList().get(0);
+ PersonGadget newPersonGadget = newRegionGadget.getPersonGadget();
+ assertEquals(VALID_GADGET_ID, newPersonGadget.getGadget().getGadgetId());
+
+ // verify that list type user prefs were assigned
+ List<PersonGadgetUserPrefListType> pguplList = newRegionGadget.getPersonGadget().getPersonGadgetUserPrefListTypeList();
+ assertNotNull(pguplList);
+ assertFalse(pguplList.isEmpty());
+ }
+
+ @Test
+ @Transactional(readOnly=false)
+ @Rollback(true)
+ public void addGadget_validRegion_validGadget_validEndLocation() {
+ Region r = regionRepository.get(VALID_ID);
+ Gadget g = gadgetRepository.get(VALID_GADGET_ID);
+
+ for (RegionGadget rg : r.getRegionGadgetList()) {
+ assertTrue(VALID_GADGET_ID != rg.getPersonGadget().getGadget().getGadgetId());
+ }
+
+ regionRepository.addGadget(r, g, Region.Location.END);
+ Region r2 = regionRepository.get(VALID_ID);
+
+ // verify new gadget is added to end of region
+ RegionGadget newRegionGadget = r2.getRegionGadgetList().get(r2.getRegionGadgetList().size()-1);
+ assertEquals(VALID_GADGET_ID, newRegionGadget.getPersonGadget().getGadget().getGadgetId());
+ }
+
+ @Test(expected = IllegalArgumentException.class)
+ @Transactional(readOnly=false)
+ @Rollback(true)
+ public void addGadget_invalidRegion_validGadget_validLocation() {
+ Region r = new Region();
+ Gadget g = gadgetRepository.get(VALID_GADGET_ID);
+ regionRepository.addGadget(r, g, Region.Location.BEGINNING);
+ }
+
+ @Test(expected = IllegalArgumentException.class)
+ @Transactional(readOnly=false)
+ @Rollback(true)
+ public void addGadget_nullRegion_validGadget_validLocation() {
+ Gadget g = gadgetRepository.get(VALID_GADGET_ID);
+ regionRepository.addGadget(null, g, Region.Location.BEGINNING);
+ }
+
+ @Test(expected = IllegalArgumentException.class)
+ @Transactional(readOnly=false)
+ @Rollback(true)
+ public void addGadget_validRegion_invalidGadget_validLocation() {
+ Region r = regionRepository.get(VALID_ID);
+ Gadget g = new Gadget();
+ regionRepository.addGadget(r, g, Region.Location.BEGINNING);
+ }
+
+ @Test(expected = IllegalArgumentException.class)
+ @Transactional(readOnly=false)
+ @Rollback(true)
+ public void addGadget_validRegion_nullGadget_validLocation() {
+ Region r = regionRepository.get(VALID_ID);
+ regionRepository.addGadget(r, null, Region.Location.BEGINNING);
+ }
+}
\ No newline at end of file
Propchange: incubator/rave/donations/mitre-osec/test/unit/java/org/mitre/portal/repository/RegionRepositoryTest.java
------------------------------------------------------------------------------
svn:executable = *
Added: incubator/rave/donations/mitre-osec/test/unit/java/org/mitre/portal/repository/SecurityUserRoleRepositoryTest.java
URL: http://svn.apache.org/viewvc/incubator/rave/donations/mitre-osec/test/unit/java/org/mitre/portal/repository/SecurityUserRoleRepositoryTest.java?rev=1087796&view=auto
==============================================================================
--- incubator/rave/donations/mitre-osec/test/unit/java/org/mitre/portal/repository/SecurityUserRoleRepositoryTest.java (added)
+++ incubator/rave/donations/mitre-osec/test/unit/java/org/mitre/portal/repository/SecurityUserRoleRepositoryTest.java Fri Apr 1 16:42:22 2011
@@ -0,0 +1,68 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.mitre.portal.repository;
+
+
+import org.mitre.portal.repository.SecurityUserRoleRepository;
+import java.util.List;
+import org.junit.Test;
+import static org.junit.Assert.*;
+import org.mitre.portal.model.SecurityUserRole;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.test.context.ContextConfiguration;
+import org.springframework.test.context.junit4.AbstractTransactionalJUnit4SpringContextTests;
+import org.springframework.transaction.annotation.Transactional;
+
+/**
+ *
+ * @author ACARLUCCI
+ *
+ * A system test that verifies the components of the ContainerRepository work together.
+ * Uses Spring to bootstrap the application for use in a test environment.
+ */
+@ContextConfiguration(locations={"classpath:org/mitre/portal/system-test-config.xml"})
+@Transactional(readOnly=true)
+public class SecurityUserRoleRepositoryTest extends AbstractTransactionalJUnit4SpringContextTests
+{
+ @Autowired
+ private SecurityUserRoleRepository securityUserRoleRepository;
+
+ // test data
+ private final String VALID_USER_ID = "100";
+ private final String INVALID_USER_ID = "00000";
+
+ @Test
+ public void find_validUserId_validList()
+ {
+ List<SecurityUserRole> result = securityUserRoleRepository.find(VALID_USER_ID);
+ assertNotNull(result);
+ assertTrue("list size > 0", result.size() > 0);
+ for (SecurityUserRole sur : result) {
+ assertEquals(VALID_USER_ID, sur.getUserId());
+ }
+ }
+
+ @Test
+ public void find_invalidSui_emptyList()
+ {
+ List<SecurityUserRole> result = securityUserRoleRepository.find(INVALID_USER_ID);
+ assertTrue(result.isEmpty());
+ }
+}
\ No newline at end of file
Propchange: incubator/rave/donations/mitre-osec/test/unit/java/org/mitre/portal/repository/SecurityUserRoleRepositoryTest.java
------------------------------------------------------------------------------
svn:executable = *
Added: incubator/rave/donations/mitre-osec/test/unit/java/org/mitre/portal/repository/StatisticsRepositoryTest.java
URL: http://svn.apache.org/viewvc/incubator/rave/donations/mitre-osec/test/unit/java/org/mitre/portal/repository/StatisticsRepositoryTest.java?rev=1087796&view=auto
==============================================================================
--- incubator/rave/donations/mitre-osec/test/unit/java/org/mitre/portal/repository/StatisticsRepositoryTest.java (added)
+++ incubator/rave/donations/mitre-osec/test/unit/java/org/mitre/portal/repository/StatisticsRepositoryTest.java Fri Apr 1 16:42:22 2011
@@ -0,0 +1,166 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.mitre.portal.repository;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.TreeSet;
+import org.junit.After;
+import org.junit.AfterClass;
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.mitre.portal.model.Container;
+import org.mitre.portal.model.ContainerRegistry;
+import org.mitre.portal.model.Gadget;
+import org.mitre.portal.model.GadgetRating;
+import org.mitre.portal.model.PersonGadget;
+import static org.junit.Assert.*;
+import org.mitre.portal.model.util.GadgetStatistics;
+import org.mitre.portal.repository.impl.JdbcStatisticsRepository;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.test.context.ContextConfiguration;
+import org.springframework.test.context.junit4.AbstractTransactionalJUnit4SpringContextTests;
+import org.springframework.transaction.annotation.Transactional;
+
+/**
+ *
+ * @author Sean Cooper
+ */
+@ContextConfiguration(locations={"classpath:org/mitre/portal/system-test-config.xml"})
+@Transactional(readOnly=true)
+public class StatisticsRepositoryTest extends AbstractTransactionalJUnit4SpringContextTests {
+
+ @Autowired
+ private StatisticsRepository statisticsRepository;
+ @Autowired
+ private ContainerRepository containerRepository;
+ @Autowired
+ private ContainerRegistryRepository containerRegistryRepository;
+
+ private Map<Long, GadgetStatistics> calculatedStatistics;
+
+ private final String VALID_USER_ID = "28063";
+ private final Long VALID_GADGET_ID = 1L;
+ private final Long RATING_LIKE = 5L;
+ private final Long RATING_DISLIKE= 0L;
+
+ private Container container;
+ private List<ContainerRegistry> containerRegistryList;
+
+
+ @BeforeClass
+ public static void setUpClass() throws Exception {
+
+ }
+
+ @AfterClass
+ public static void tearDownClass() throws Exception {
+ }
+
+ @Before
+ public void setUp() {
+ container = containerRepository.find("default");
+ containerRegistryList = containerRegistryRepository.find(container);
+
+ calculatedStatistics = new HashMap<Long, GadgetStatistics>();
+
+ assertNotNull(containerRepository);
+ for (Container container : containerRepository.findAll())
+ {
+ assertNotNull(container);
+ for (ContainerRegistry containerRegistry : container.getContainerRegistryList())
+ {
+ Gadget gadget = containerRegistry.getGadget();
+ GadgetStatistics curStats = new GadgetStatistics(gadget.getGadgetId());
+
+ //Determine the number of unique users who have the gadget deployed
+ Set<String> userIds = new TreeSet<String>();
+ for (PersonGadget personGadget : gadget.getPersonGadgetList())
+ userIds.add(personGadget.getUserId());
+ curStats.setUserCount(userIds.size());
+
+ //Determine the like and dislike ratings
+ for (GadgetRating gadgetRating : gadget.getGadgetRatingList())
+ {
+ if (gadgetRating.getRating().equals(RATING_DISLIKE))
+ curStats.setUserDislike(curStats.getUserDislike()+1);
+ else if (gadgetRating.getRating().equals(RATING_LIKE))
+ curStats.setUserLike(curStats.getUserLike()+1);
+
+ if (gadgetRating.getUserId().equals(VALID_USER_ID))
+ curStats.setUserRating(gadgetRating.getRating().intValue());
+ }
+
+ calculatedStatistics.put(gadget.getGadgetId(), curStats);
+ }
+ }
+
+ System.err.println("Size: "+calculatedStatistics.size());
+ }
+
+ @After
+ public void tearDown() {
+ }
+
+ /**
+ * Test of getAllGadgetStatistics method, of class JdbcStatisticsRepository.
+ */
+ @Test
+ public void testGetAllGadgetStatistics() {
+ System.out.println("getAllGadgetStatistics");
+
+ // reset the like count to default for non-user based query
+ calculatedStatistics.get(VALID_GADGET_ID).setUserRating(0);
+
+ Map<String,GadgetStatistics> result = statisticsRepository.getAllGadgetStatistics(containerRegistryList);
+ for (GadgetStatistics gadgetStatistics : result.values())
+ assertEquals(calculatedStatistics.get(gadgetStatistics.getGadgetId()), gadgetStatistics);
+ }
+
+ @Test
+ public void getAllGadgetStatistics_validUserId_validContainerRegistryList() {
+ Map<String,GadgetStatistics> result = statisticsRepository.getAllGadgetStatistics(VALID_USER_ID, containerRegistryList);
+ assertNotNull(result);
+ assertFalse(result.isEmpty());
+ }
+
+ /**
+ * Test of getGadgetStatistics method, of class JdbcStatisticsRepository.
+ */
+ @Test
+ public void testGetGadgetStatistics_Long() {
+ System.out.println("getGadgetStatistics");
+
+ // reset the like count to default non-user based query
+ calculatedStatistics.get(VALID_GADGET_ID).setUserRating(0);
+
+ GadgetStatistics result = statisticsRepository.getGadgetStatistics(VALID_GADGET_ID);
+ assertEquals(calculatedStatistics.get(VALID_GADGET_ID), result);
+ }
+
+ @Test
+ public void getGadgetStatistics_validGadgetId_validUserId() {
+ GadgetStatistics result = statisticsRepository.getGadgetStatistics(VALID_GADGET_ID, VALID_USER_ID);
+ assertEquals(RATING_LIKE.intValue(), result.getUserRating());
+ }
+}
\ No newline at end of file
Propchange: incubator/rave/donations/mitre-osec/test/unit/java/org/mitre/portal/repository/StatisticsRepositoryTest.java
------------------------------------------------------------------------------
svn:executable = *
Added: incubator/rave/donations/mitre-osec/test/unit/java/org/mitre/portal/repository/UserWizardCompletedRepositoryTest.java
URL: http://svn.apache.org/viewvc/incubator/rave/donations/mitre-osec/test/unit/java/org/mitre/portal/repository/UserWizardCompletedRepositoryTest.java?rev=1087796&view=auto
==============================================================================
--- incubator/rave/donations/mitre-osec/test/unit/java/org/mitre/portal/repository/UserWizardCompletedRepositoryTest.java (added)
+++ incubator/rave/donations/mitre-osec/test/unit/java/org/mitre/portal/repository/UserWizardCompletedRepositoryTest.java Fri Apr 1 16:42:22 2011
@@ -0,0 +1,164 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.mitre.portal.repository;
+
+import java.util.List;
+import org.junit.Test;
+import static org.junit.Assert.*;
+import org.mitre.portal.model.UserWizardCompleted;
+import org.mitre.portal.model.Wizard;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.dao.IncorrectResultSizeDataAccessException;
+import org.springframework.dao.InvalidDataAccessApiUsageException;
+import org.springframework.test.annotation.Rollback;
+import org.springframework.test.context.ContextConfiguration;
+import org.springframework.test.context.junit4.AbstractTransactionalJUnit4SpringContextTests;
+import org.springframework.transaction.annotation.Transactional;
+
+/**
+ *
+ * @author ACARLUCCI
+ *
+ * A system test that verifies the components of the UserWizardCompletedRepository work together.
+ * Uses Spring to bootstrap the application for use in a test environment.
+ */
+@ContextConfiguration(locations={"classpath:org/mitre/portal/system-test-config.xml"})
+@Transactional(readOnly=true)
+public class UserWizardCompletedRepositoryTest extends AbstractTransactionalJUnit4SpringContextTests
+{
+ @Autowired
+ private UserWizardCompletedRepository userWizardCompletedRepository;
+
+ // test data
+ private final Long VALID_ID = new Long(1);
+ private final Long VALID_WIZARD_ID = 1L;
+ private final String VALID_USER_ID = "100";
+
+ private final Long INVALID_ID = new Long(-1);
+ private final String INVALID_USER_ID = "-99999";
+
+
+ @Test
+ public void get_validId_validUserWizardCompleted()
+ {
+ UserWizardCompleted userWizardCompleted = userWizardCompletedRepository.get(VALID_ID);
+ assertNotNull(userWizardCompleted);
+ assertEquals(VALID_ID, userWizardCompleted.getUserWizardCompletedId());
+ assertEquals(VALID_WIZARD_ID, userWizardCompleted.getWizard().getWizardId());
+ assertEquals(VALID_USER_ID, userWizardCompleted.getUserId());
+ }
+
+ @Test(expected = IncorrectResultSizeDataAccessException.class)
+ public void get_invalidId_exception()
+ {
+ userWizardCompletedRepository.get(INVALID_ID);
+ }
+
+ @Test(expected = InvalidDataAccessApiUsageException.class)
+ public void get_nullId_exception()
+ {
+ userWizardCompletedRepository.get(null);
+ }
+
+ @Test
+ public void find_validUserId_validList()
+ {
+ List<UserWizardCompleted> list = userWizardCompletedRepository.find(VALID_USER_ID);
+ assertNotNull(list);
+ assertFalse(list.isEmpty());
+ for (UserWizardCompleted uwc : list) {
+ assertEquals(VALID_USER_ID, uwc.getUserId());
+ }
+ }
+
+ @Test
+ public void find_invalidUserId_emptyList()
+ {
+ List<UserWizardCompleted> list = userWizardCompletedRepository.find(INVALID_USER_ID);
+ assertNotNull(list);
+ assertTrue(list.isEmpty());
+ }
+
+ @Test
+ public void findAll_validList()
+ {
+ List<UserWizardCompleted> list = userWizardCompletedRepository.findAll();
+ assertNotNull(list);
+ assertEquals(3, list.size());
+ }
+
+ @Test
+ @Transactional(readOnly=false)
+ @Rollback(true)
+ public void save_validUserWizardCompletedNullId() {
+ final String newUserId = "12345";
+ Wizard wizard = new Wizard(VALID_WIZARD_ID);
+
+ UserWizardCompleted uwc = new UserWizardCompleted();
+ uwc.setUserId(newUserId);
+ uwc.setWizard(wizard);
+
+ assertNull(uwc.getUserWizardCompletedId());
+ userWizardCompletedRepository.save(uwc);
+ assertNotNull(uwc.getUserWizardCompletedId());
+ assertTrue("new userWizardCompletedId > 0", uwc.getUserWizardCompletedId() > 0);
+ }
+
+ @Test(expected=IllegalArgumentException.class)
+ @Transactional(readOnly=false)
+ @Rollback(true)
+ public void save_validUserWizardCompletedExistingId_exception() {
+
+ UserWizardCompleted rg = userWizardCompletedRepository.get(VALID_ID);
+ userWizardCompletedRepository.save(rg);
+ }
+
+ @Test(expected = NullPointerException.class)
+ @Transactional(readOnly=false)
+ @Rollback(true)
+ public void save_nullUserWizardCompleted_exception() {
+ userWizardCompletedRepository.save(null);
+ }
+
+ @Test(expected = IncorrectResultSizeDataAccessException.class)
+ @Transactional(readOnly=false)
+ @Rollback(true)
+ public void delete_validUserWizardCompleted() {
+ UserWizardCompleted uwc = userWizardCompletedRepository.get(VALID_ID);
+ userWizardCompletedRepository.delete(uwc);
+ // second get should throw error
+ userWizardCompletedRepository.get(VALID_ID);
+ }
+
+ @Test
+ @Transactional(readOnly=false)
+ @Rollback(true)
+ public void delete_invalidUserWizardCompleted() {
+ UserWizardCompleted uwc = new UserWizardCompleted(INVALID_ID);
+ userWizardCompletedRepository.delete(uwc);
+ }
+
+ @Test
+ @Transactional(readOnly=false)
+ @Rollback(true)
+ public void delete_nullUserWizardCompleted() {
+ userWizardCompletedRepository.delete(null);
+ }
+}
\ No newline at end of file
Propchange: incubator/rave/donations/mitre-osec/test/unit/java/org/mitre/portal/repository/UserWizardCompletedRepositoryTest.java
------------------------------------------------------------------------------
svn:executable = *
Added: incubator/rave/donations/mitre-osec/test/unit/java/org/mitre/portal/repository/WizardRepositoryTest.java
URL: http://svn.apache.org/viewvc/incubator/rave/donations/mitre-osec/test/unit/java/org/mitre/portal/repository/WizardRepositoryTest.java?rev=1087796&view=auto
==============================================================================
--- incubator/rave/donations/mitre-osec/test/unit/java/org/mitre/portal/repository/WizardRepositoryTest.java (added)
+++ incubator/rave/donations/mitre-osec/test/unit/java/org/mitre/portal/repository/WizardRepositoryTest.java Fri Apr 1 16:42:22 2011
@@ -0,0 +1,111 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.mitre.portal.repository;
+
+import java.util.List;
+import org.junit.Test;
+import static org.junit.Assert.*;
+import org.mitre.portal.model.Wizard;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.dao.IncorrectResultSizeDataAccessException;
+import org.springframework.dao.InvalidDataAccessApiUsageException;
+import org.springframework.test.annotation.Rollback;
+import org.springframework.test.context.ContextConfiguration;
+import org.springframework.test.context.junit4.AbstractTransactionalJUnit4SpringContextTests;
+import org.springframework.transaction.annotation.Transactional;
+
+/**
+ *
+ * @author ACARLUCCI
+ *
+ * A system test that verifies the components of the WizardRepository work together.
+ * Uses Spring to bootstrap the application for use in a test environment.
+ */
+@ContextConfiguration(locations={"classpath:org/mitre/portal/system-test-config.xml"})
+@Transactional(readOnly=true)
+public class WizardRepositoryTest extends AbstractTransactionalJUnit4SpringContextTests
+{
+ @Autowired
+ private WizardRepository wizardRepository;
+
+ // test data
+ private final Long VALID_ID = new Long(1);
+ private final String VALID_NAME = "new_user";
+ private final String VALID_DISPLAY_NAME = "New User Wizard";
+ private final String VALID_USER_TARGET = "all";
+ private final String VALID_URL = "http://dummy.example.com/new_user.html";
+ private final Long INVALID_ID = new Long(-1);
+ private final String INVALID_NAME = "ZZZ";
+
+ @Test
+ public void get_validId_validWizard()
+ {
+ Wizard wizard = wizardRepository.get(VALID_ID);
+ assertNotNull(wizard);
+ assertEquals(VALID_ID, wizard.getWizardId());
+ assertEquals(VALID_NAME, wizard.getName());
+ assertEquals(VALID_DISPLAY_NAME, wizard.getDisplayName());
+ assertEquals(VALID_USER_TARGET, wizard.getUserTarget());
+ assertEquals(VALID_URL, wizard.getUrl().toString());
+ }
+
+ @Test(expected = IncorrectResultSizeDataAccessException.class)
+ public void get_invalidId_exception()
+ {
+ wizardRepository.get(INVALID_ID);
+ }
+
+ @Test(expected = InvalidDataAccessApiUsageException.class)
+ public void get_nullId_exception()
+ {
+ wizardRepository.get(null);
+ }
+
+ @Test
+ public void find_validName_validWizard()
+ {
+ Wizard wizard = wizardRepository.find(VALID_NAME);
+ assertNotNull(wizard);
+ assertEquals(VALID_ID, wizard.getWizardId());
+ assertEquals(VALID_NAME, wizard.getName());
+ }
+
+ @Test
+ public void find_invalidName_nullWizard()
+ {
+ Wizard wizard = wizardRepository.find(INVALID_NAME);
+ assertNull(wizard);
+ }
+
+ @Test
+ public void find_nullName_nullWizard()
+ {
+ Wizard wizard = wizardRepository.find(null);
+ assertNull(wizard);
+ }
+
+ @Test
+ public void findAll_validList()
+ {
+ List<Wizard> list= wizardRepository.findAll();
+ assertNotNull(list);
+ assertEquals(2, list.size());
+ }
+}
\ No newline at end of file
Propchange: incubator/rave/donations/mitre-osec/test/unit/java/org/mitre/portal/repository/WizardRepositoryTest.java
------------------------------------------------------------------------------
svn:executable = *
Added: incubator/rave/donations/mitre-osec/test/unit/java/org/mitre/portal/repository/util/JpaConstantsTest.java
URL: http://svn.apache.org/viewvc/incubator/rave/donations/mitre-osec/test/unit/java/org/mitre/portal/repository/util/JpaConstantsTest.java?rev=1087796&view=auto
==============================================================================
--- incubator/rave/donations/mitre-osec/test/unit/java/org/mitre/portal/repository/util/JpaConstantsTest.java (added)
+++ incubator/rave/donations/mitre-osec/test/unit/java/org/mitre/portal/repository/util/JpaConstantsTest.java Fri Apr 1 16:42:22 2011
@@ -0,0 +1,46 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+/*
+ * To change this template, choose Tools | Templates
+ * and open the template in the editor.
+ */
+
+package org.mitre.portal.repository.util;
+
+import org.junit.Test;
+import org.mitre.portal.repository.util.JpaConstants.Constraint;
+import static org.junit.Assert.*;
+
+/**
+ *
+ * @author Sean Cooper
+ */
+public class JpaConstantsTest {
+
+ @Test
+ public void simpleVerification() {
+ new JpaConstants();
+
+ assertTrue(JpaConstants.Constraint.UNIQUE_GADGET_URL instanceof String);
+ assertTrue(JpaConstants.Constraint.UNIQUE_PAGE_NAME instanceof String);
+
+ }
+
+}
\ No newline at end of file
Propchange: incubator/rave/donations/mitre-osec/test/unit/java/org/mitre/portal/repository/util/JpaConstantsTest.java
------------------------------------------------------------------------------
svn:executable = *