argos/dmp-backend/src/test/java/TestRest.java

308 lines
9.7 KiB
Java

import static org.junit.Assert.*;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.Set;
import java.util.UUID;
import org.junit.Before;
import org.junit.Test;
import org.mortbay.jetty.HttpStatus;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.http.ResponseEntity;
import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
import org.springframework.security.core.Authentication;
import org.springframework.security.core.context.SecurityContextHolder;
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.type.CollectionType;
import com.fasterxml.jackson.databind.type.TypeFactory;
import com.google.gson.Gson;
import com.google.gson.JsonSyntaxException;
import dao.entities.DMPDao;
import dao.entities.DMPProfileDao;
import dao.entities.DataRepositoryDao;
import dao.entities.DatasetDao;
import dao.entities.DatasetProfileDao;
import dao.entities.DatasetProfileRulesetDao;
import dao.entities.DatasetProfileViewstyleDao;
import dao.entities.OrganisationDao;
import dao.entities.ProjectDao;
import dao.entities.RegistryDao;
import dao.entities.ResearcherDao;
import dao.entities.ServiceDao;
import dao.entities.UserInfoDao;
import entities.DMP;
import entities.DatasetProfile;
import entities.DatasetProfileRuleset;
import entities.DatasetProfileViewstyle;
import entities.Project;
import entities.Service;
import helpers.SerializerProvider;
import rest.entities.DMPs;
import rest.entities.DatasetProfiles;
import rest.entities.Datasets;
import rest.entities.Projects;
import rest.entities.Services;
@ComponentScan(basePackages = "dao, entities, controller, login, proxy, rest")
public class TestRest {
@Autowired private DataRepositoryDao dataRepositoryDao;
@Autowired private DatasetDao datasetDao;
@Autowired private DatasetProfileDao datasetProfileDao;
@Autowired private DatasetProfileRulesetDao datasetProfileRulesetDao;
@Autowired private DatasetProfileViewstyleDao datasetProfileViewstyleDao;
@Autowired private DMPDao dMPDao;
@Autowired private DMPProfileDao dMPProfileDao;
@Autowired private OrganisationDao organisationDao;
@Autowired private ProjectDao projectDao;
@Autowired private RegistryDao registryDao;
@Autowired private ResearcherDao researcherDao;
@Autowired private ServiceDao serviceDao;
@Autowired private UserInfoDao userInfoDao;
Gson gson = new Gson();
private static String userID = "332ffc36-bd51-4d4e-bf9a-ffb01fdee05a";
private ApplicationContext context;
private Projects projectsService;
private Datasets datasetsService;
private DatasetProfiles datasetProfilesService;
private DMPs dmpsService;
private Services servicesService;
@Before
public void setupAll() {
Authentication dummy = new UsernamePasswordAuthenticationToken(userID, "test-creds", new ArrayList<>());
SecurityContextHolder.getContext().setAuthentication(dummy);
context = new ClassPathXmlApplicationContext("applicationContextTEST.xml");
projectsService = context.getBean(Projects.class);
datasetsService = context.getBean(Datasets.class);
datasetProfilesService = context.getBean(DatasetProfiles.class);
dmpsService = context.getBean(DMPs.class);
servicesService = context.getBean(Services.class);
}
// @Test
public void testDatasetProfile() {
// DatasetProfile datasetProfile = new DatasetProfile();
// datasetProfile.setLabel("Sample-Dataset-Profile");
// datasetProfile.setDefinition("Sample-Dataset-Profile definition");
//
// DatasetProfileRuleset dpr = new DatasetProfileRuleset();
// dpr.setLabel("Sample-Dataset-Profile ruleset");
// dpr.setDefinition("dpr definition");
// datasetProfile.setRuleset(dpr);
//
// DatasetProfileViewstyle dpv = new DatasetProfileViewstyle();
// dpv.setLabel("Sample-Dataset-Profile viewstyle");
// dpv.setDefinition("dpv definition");
// datasetProfile.setViewstyle(dpv);
//
// datasetProfilesService.createDatasetProfile(datasetProfile);
//
// assertNotNull(datasetProfile.getId());
}
// @Test
public void testDatasetProfile2() {
// DatasetProfile datasetProfile = new DatasetProfile();
// datasetProfile.setLabel("Sample-Dataset-Profile-222");
// datasetProfile.setDefinition("Sample-Dataset-Profile-222 definition");
//
// DatasetProfileRuleset dpr = new DatasetProfileRuleset();
// dpr.setLabel("Sample-Dataset-Profile-222 ruleset");
// dpr.setDefinition("dpr definition");
// datasetProfile.setRuleset(dpr);
//
// DatasetProfileViewstyle dpv = new DatasetProfileViewstyle();
// dpv.setLabel("Sample-Dataset-Profile-222 viewstyle");
// dpv.setDefinition("dpv definition");
// datasetProfile.setViewstyle(dpv);
//
// ResponseEntity<Object> createResp = datasetProfilesService.createDatasetProfile(datasetProfile);
// assertEquals(201, createResp.getStatusCodeValue());
//
// datasetProfile.setLabel("SAMPLE-DATASET-PROFILE-222");
// dpr.setLabel("SAMPLE-DATASET-PROFILE-222");
// dpv.setLabel("SAMPLE-DATASET-PROFILE-222");
//
// ResponseEntity<Object> updResp = datasetProfilesService.updateDatasetProfile(datasetProfile);
// assertEquals(201, updResp.getStatusCodeValue());
//
// ResponseEntity<Object> delResp = datasetProfilesService.deleteDatasetProfile(datasetProfile);
// assertEquals(200, delResp.getStatusCodeValue());
}
// @Test
public void testServiceService() {
Service service = new Service();
service.setId(UUID.fromString("37acad15-39a1-46f3-a6f3-1bf0eaefaadc"));
ResponseEntity<Object> delResp = servicesService.delete(service);
assertEquals(201, delResp.getStatusCodeValue());
}
//@Test
public void testUserProject() {
// System.out.println(projectsService.listProjects().getBody());
// System.out.println(projectsService.getProjectsOfUser().getBody());
CollectionType typeReference = TypeFactory.defaultInstance().constructCollectionType(List.class, Project.class);
List<Project> userProjects = null;
try {
userProjects = SerializerProvider.fromJson(projectsService.getProjectsOfUser().getBody().toString(), typeReference) ;
} catch (Exception e) {
fail("Should not have thrown any exception");
}
assertNotNull(userProjects);
System.out.println(userProjects.size());
System.out.println(SerializerProvider.toJson(userProjects));
assertEquals("aaa", "aaa");
}
//@Test
public void testDmpUser() {
// System.out.println(dmpsService.getDmpsOfUser());
DMP dmp = new DMP();
dmp.setId(UUID.fromString("52239f0e-4460-4459-a393-bffcb833f39d"));
System.out.println(dmpsService.getDatasetsOfDMP(dmp).getBody());
assertEquals("aaa", "aaa");
}
//@Test
public void testDmpClone() {
System.out.println(dmpsService.getDmpsOfUser().getBody());
DMP dmp = new DMP();
dmp.setId(UUID.fromString("8faad611-7083-497c-ad96-9459e47ee175"));
String clonedJSON = dmpsService.cloneDmpOfUser(dmp).toString();
System.out.println(clonedJSON);
// System.out.println(datasetsService.getAllDatasets().getBody());
// System.out.println(dmpsService.getDatasetsOfDMP(dmp).getBody());
assertEquals("aaa", "aaa");
}
//@Test
public void testProject() {
String projectJson = "{\"id\":\"d558e52c-a61b-4e16-a401-b27c579cf8e3\",\"dmps\":null,\"label\":\"Sample project\",\"abbreviation\":null,\"reference\":\"agasdfasdf\",\"uri\":\"hadfhadfgazfrg\",\"definition\":\"<info>sdfgsdg</info>\",\"startdate\":\"2017-11-01\",\"enddate\":\"2017-11-30\",\"status\":0,\"created\":1509638367900,\"modified\":1509638367900}";
try {
Project project = SerializerProvider.fromJson(projectJson, Project.class);
System.out.println(SerializerProvider.toJson(project));
} catch (Exception e) {
e.printStackTrace();
}
/*
// System.out.println(dmpsService.getAllDMPs().getBody().toString());
String dmpJSON = dmpsService.getDMP("d0d01f5e-9aed-4733-a0cf-aabe44cd30c9").getBody().toString();
System.out.println(dmpJSON);
try {
DMP dmp = SerializerProvider.fromJson(dmpJSON, DMP.class);
ResponseEntity<Object> resp = dmpsService.softDelete(dmp);
resp.getStatusCode();
}
catch(Exception ex) {
}
//dmpsService.softDelete(dmp)
//System.out.println(datasetsService.getAllDatasets().getBody());
// System.out.println(dmpsService.getDatasetsOfDMP(dmp).getBody());
*/
assertEquals("aaa", "aaa");
}
@Test
public void testProject2() {
// String a = null;
// try {
// //a = (String)dmpsService.getDmpsOfUser().getBody();
//
// Set<DMP> dmps = new ObjectMapper().readValue(dmpsService.getDmpsOfUser().getBody().toString(), new TypeReference<Set<DMP>>(){});
// System.out.println(dmps);
//
//// Set<DMP> dmps = SerializerProvider.fromJson((String)dmpsService.getDmpsOfUser().getBody(), new TypeReference<Set<DMP>>(){});
// } catch (Exception e) {
//
// e.printStackTrace();
// }
CollectionType typeReference = TypeFactory.defaultInstance().constructCollectionType(List.class, DMP.class);
List<DMP> dmps = null;
try {
dmps = SerializerProvider.fromJson(dmpsService.getDmpsOfUser().getBody().toString(), typeReference) ;
System.out.println(dmps);
} catch (Exception e) {
e.printStackTrace();
fail("Should not have thrown any exception");
}
assertEquals("aaa", "aaa");
}
}