Skip to content

Commit

Permalink
tests fixed
Browse files Browse the repository at this point in the history
  • Loading branch information
nocs00 committed Jul 20, 2016
1 parent af19b6d commit 6c2d4d3
Show file tree
Hide file tree
Showing 3 changed files with 69 additions and 71 deletions.
Expand Up @@ -31,35 +31,13 @@
import org.junit.runner.RunWith;
import org.kaaproject.avro.ui.shared.FqnVersion;
import org.kaaproject.kaa.common.avro.GenericAvroConverter;
import org.kaaproject.kaa.common.dto.ApplicationDto;
import org.kaaproject.kaa.common.dto.ConfigurationDto;
import org.kaaproject.kaa.common.dto.ConfigurationSchemaDto;
import org.kaaproject.kaa.common.dto.EndpointGroupDto;
import org.kaaproject.kaa.common.dto.EndpointNotificationDto;
import org.kaaproject.kaa.common.dto.EndpointProfileSchemaDto;
import org.kaaproject.kaa.common.dto.HasId;
import org.kaaproject.kaa.common.dto.KaaAuthorityDto;
import org.kaaproject.kaa.common.dto.NotificationDto;
import org.kaaproject.kaa.common.dto.NotificationSchemaDto;
import org.kaaproject.kaa.common.dto.NotificationTypeDto;
import org.kaaproject.kaa.common.dto.ProfileFilterDto;
import org.kaaproject.kaa.common.dto.ServerProfileSchemaDto;
import org.kaaproject.kaa.common.dto.TopicDto;
import org.kaaproject.kaa.common.dto.TopicTypeDto;
import org.kaaproject.kaa.common.dto.UpdateStatus;
import org.kaaproject.kaa.common.dto.VersionDto;
import org.kaaproject.kaa.common.dto.*;
import org.kaaproject.kaa.common.dto.admin.TenantUserDto;
import org.kaaproject.kaa.common.dto.admin.UserDto;
import org.kaaproject.kaa.common.dto.ctl.CTLSchemaDto;
import org.kaaproject.kaa.common.dto.event.ApplicationEventAction;
import org.kaaproject.kaa.common.dto.event.ApplicationEventFamilyMapDto;
import org.kaaproject.kaa.common.dto.event.ApplicationEventMapDto;
import org.kaaproject.kaa.common.dto.event.EventClassDto;
import org.kaaproject.kaa.common.dto.event.EventClassFamilyDto;
import org.kaaproject.kaa.common.dto.event.EventClassType;
import org.kaaproject.kaa.common.dto.event.*;
import org.kaaproject.kaa.common.dto.logs.LogAppenderDto;
import org.kaaproject.kaa.common.dto.logs.LogSchemaDto;
import org.kaaproject.kaa.common.endpoint.gen.BasicSystemNotification;
import org.kaaproject.kaa.server.appenders.file.config.FileSystemAppenderConfig;
import org.kaaproject.kaa.server.common.admin.AdminClient;
import org.kaaproject.kaa.server.common.core.algorithms.generation.DefaultRecordGenerationAlgorithm;
Expand All @@ -68,6 +46,7 @@
import org.kaaproject.kaa.server.common.core.configuration.RawDataFactory;
import org.kaaproject.kaa.server.common.core.schema.RawSchema;
import org.kaaproject.kaa.server.common.dao.AbstractTest;
import org.kaaproject.kaa.server.common.dao.EventClassService;
import org.kaaproject.kaa.server.common.dao.impl.sql.H2DBTestRunner;
import org.kaaproject.kaa.server.common.dao.impl.sql.PostgreDBTestRunner;
import org.kaaproject.kaa.server.common.nosql.mongo.dao.MongoDBTestRunner;
Expand All @@ -81,7 +60,6 @@
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import org.springframework.web.client.HttpStatusCodeException;
import org.springframework.web.client.ResourceAccessException;

import javax.sql.DataSource;
import java.io.BufferedReader;
Expand Down Expand Up @@ -240,6 +218,10 @@ public abstract class AbstractTestControlServer extends AbstractTest {
@Autowired
private KaaNodeInitializationService kaaNodeInitializationService;

/** The event class service. */
@Autowired
protected EventClassService eventClassService;

/** The client. */
protected AdminClient client;

Expand Down Expand Up @@ -310,7 +292,7 @@ protected void clearDBData() {
if (url.contains("h2")) {
LOG.info("Deleting data from H2 database");
new H2DBTestRunner().truncateTables(dataSource);
// new H2DBTestRunner().truncateSequences(dataSource);
new H2DBTestRunner().truncateSequences(dataSource);
} else {
LOG.info("Deleting data from PostgreSQL database");
new PostgreDBTestRunner().truncateTables(dataSource);
Expand Down Expand Up @@ -1176,6 +1158,24 @@ protected EventClassFamilyDto createEventClassFamily(String tenantId, String cla
return savedEventClassFamily;
}

protected EventClassFamilyVersionDto createEventClassFamilyVersion(String ecfId) throws Exception {
EventClassFamilyVersionDto eventClassFamilyVersion = new EventClassFamilyVersionDto();
List<EventClassDto> records = new ArrayList<>();

CTLSchemaDto ctlSchema = this.createCTLSchema(this.ctlRandomFieldType(), CTL_DEFAULT_NAMESPACE, 1, tenantAdminDto.getTenantId(), null, null, null);
EventClassDto ec = new EventClassDto();
ApplicationDto application = createApplication(tenantAdminDto);
ec.setApplicationId(application.getId());
ec.setFqn(EVENT_CLASS_FAMILY_NAMESPACE + ".Test" + random.nextInt(1000));
ec.setType(EventClassType.EVENT);
ec.setCtlSchemaId(ctlSchema.getId());
ec.setName("test");
records.add(ec);

eventClassFamilyVersion.setRecords(records);
return eventClassFamilyVersion;
}

/**
* Creates the application event family map.
*
Expand Down Expand Up @@ -1211,20 +1211,22 @@ protected ApplicationEventFamilyMapDto createApplicationEventFamilyMap(String ap
EventClassFamilyDto eventClassFamily = null;
if (strIsEmpty(ecfId)) {
eventClassFamily = createEventClassFamily(tenantId);
ecfId = eventClassFamily.getId();
}
else {
loginTenantAdmin(tenantAdminUser);
eventClassFamily = client.getEventClassFamilyById(ecfId);
}
applicationEventFamilyMap.setEcfId(eventClassFamily.getId());
applicationEventFamilyMap.setEcfName(eventClassFamily.getName());
if (eventClassFamily.getSchemas() == null || eventClassFamily.getSchemas().size()<version) {
int start = eventClassFamily.getSchemas() == null ? 0 : eventClassFamily.getSchemas().size();
for (int i=start;i<version;i++) {
loginTenantAdmin(tenantAdminUser);
client.addEventClassFamilySchema(eventClassFamily.getId(), TEST_EVENT_CLASS_FAMILY_SCHEMA);
}
List<EventClassFamilyVersionDto> storedECFVersions = client.getEventClassFamilyVersionsById(ecfId);

loginTenantAdmin(tenantAdminUser);
EventClassFamilyVersionDto testECFVersion = createEventClassFamilyVersion(ecfId);
if (storedECFVersions == null || storedECFVersions.size()<version) {
client.addEventClassFamilyVersion(eventClassFamily.getId(), testECFVersion);
}

loginTenantDeveloper(tenantDeveloperUser);
applicationEventFamilyMap.setVersion(version);
List<EventClassDto> eventClasses = client.getEventClassesByFamilyIdVersionAndType(eventClassFamily.getId(), version, EventClassType.EVENT);
Expand Down
Expand Up @@ -21,12 +21,10 @@
import java.util.List;

import org.junit.Assert;
import org.junit.Ignore;
import org.junit.Test;
import org.kaaproject.kaa.common.dto.ApplicationDto;
import org.kaaproject.kaa.common.dto.event.AefMapInfoDto;
import org.kaaproject.kaa.common.dto.event.ApplicationEventFamilyMapDto;
import org.kaaproject.kaa.common.dto.event.EcfInfoDto;
import org.kaaproject.kaa.common.dto.event.EventClassFamilyDto;
import org.kaaproject.kaa.common.dto.event.*;
import org.springframework.web.client.ResourceAccessException;

/**
Expand Down Expand Up @@ -114,14 +112,14 @@ public void testGetVacantEventClassFamiliesByApplicationToken() throws Exception
ApplicationDto application = createApplication(tenantAdminDto);
EventClassFamilyDto eventClassFamily = createEventClassFamily(application.getTenantId());
createApplicationEventFamilyMap(application.getApplicationToken(), eventClassFamily.getId(), 1);

loginTenantDeveloper(tenantDeveloperUser);
List<EcfInfoDto> vacantEcfs = client.getVacantEventClassFamiliesByApplicationToken(application.getApplicationToken());
Assert.assertNotNull(vacantEcfs);
Assert.assertEquals(0, vacantEcfs.size());

loginTenantAdmin(tenantAdminUser);
client.addEventClassFamilySchema(eventClassFamily.getId(), TEST_EVENT_CLASS_FAMILY_SCHEMA);
EventClassFamilyVersionDto eventClassFamilyVersion = createEventClassFamilyVersion(eventClassFamily.getId());
client.addEventClassFamilyVersion(eventClassFamily.getId(), eventClassFamilyVersion);

loginTenantDeveloper(tenantDeveloperUser);
vacantEcfs = client.getVacantEventClassFamiliesByApplicationToken(application.getApplicationToken());
Expand Down
Expand Up @@ -20,14 +20,14 @@
import java.util.Collections;
import java.util.List;

import org.apache.avro.Schema;
import org.junit.Assert;
import org.junit.Ignore;
import org.junit.Test;
import org.kaaproject.kaa.common.dto.admin.TenantUserDto;
import org.kaaproject.kaa.common.dto.event.EventClassDto;
import org.kaaproject.kaa.common.dto.event.EventClassFamilyDto;
import org.kaaproject.kaa.common.dto.event.EventClassType;
import org.kaaproject.kaa.common.dto.event.EventSchemaVersionDto;
import org.kaaproject.kaa.common.dto.event.EventClassFamilyVersionDto;

/**
* The Class ControlServerEventClassFamilyIT.
Expand Down Expand Up @@ -84,10 +84,10 @@ public void testGetEventClassFamily() throws Exception {
@Test
public void testGetEventClassFamiliesByTenantId() throws Exception {
List<EventClassFamilyDto> eventClassFamilies = new ArrayList<EventClassFamilyDto>(10);
TenantUserDto tenant = createTenant(tenantAdminUser);
tenantAdminDto = createTenant(tenantAdminUser);
loginTenantAdmin(tenantAdminUser);
for (int i=0;i<10;i++) {
EventClassFamilyDto eventClassFamily = createEventClassFamily(tenant.getId(), ""+i);
EventClassFamilyDto eventClassFamily = createEventClassFamily(tenantAdminDto.getId(), ""+i);
eventClassFamilies.add(eventClassFamily);
}

Expand All @@ -113,12 +113,9 @@ public void testGetEventClassFamiliesByTenantId() throws Exception {
@Test
public void testUpdateEventClassFamily() throws Exception {
EventClassFamilyDto eventClassFamily = createEventClassFamily();

eventClassFamily.setName(generateString(EVENT_CLASS_FAMILY));

EventClassFamilyDto updatedEventClassFamily = client
.editEventClassFamily(eventClassFamily);

assertEventClassFamiliesEquals(updatedEventClassFamily, eventClassFamily);
}

Expand All @@ -129,14 +126,17 @@ public void testUpdateEventClassFamily() throws Exception {
*/
@Test
public void testGetEventClassesByFamilyIdVersionAndType() throws Exception {
EventClassFamilyDto eventClassFamily = createEventClassFamily();
client.addEventClassFamilySchema(eventClassFamily.getId(), TEST_EVENT_CLASS_FAMILY_SCHEMA);
tenantAdminDto = createTenant(tenantAdminUser);
loginTenantAdmin(tenantAdminUser);
EventClassFamilyDto eventClassFamily = createEventClassFamily(tenantAdminDto.getId());
EventClassFamilyVersionDto eventClassFamilyVersion = createEventClassFamilyVersion(eventClassFamily.getId());
client.addEventClassFamilyVersion(eventClassFamily.getId(), eventClassFamilyVersion);
List<EventClassDto> eventClasses = client.getEventClassesByFamilyIdVersionAndType(eventClassFamily.getId(), 1, EventClassType.EVENT);
Assert.assertNotNull(eventClasses);
Assert.assertEquals(4, eventClasses.size());
Assert.assertEquals(1, eventClasses.size());
for (EventClassDto eventClass : eventClasses) {
Assert.assertEquals(eventClassFamily.getId(), eventClass.getEcfId());
Assert.assertEquals(1, eventClass.getVersion());
Assert.assertEquals(0, eventClass.getVersion());
}
}

Expand All @@ -160,55 +160,53 @@ public void executeRestCall() throws Exception {
}
});
}

/**
* Test add event class family schema.
*
* @throws Exception the exception
*/
@Test
public void testAddEventClassFamilySchema() throws Exception {
EventClassFamilyDto eventClassFamily = createEventClassFamily();
Schema expectedSchema = new Schema.Parser().parse(getResourceAsString(TEST_EVENT_CLASS_FAMILY_SCHEMA));

client.addEventClassFamilySchema(eventClassFamily.getId(), TEST_EVENT_CLASS_FAMILY_SCHEMA);
EventClassFamilyDto storedEventClassFamily = client.getEventClassFamilyById(eventClassFamily.getId());
List<EventSchemaVersionDto> schemas = storedEventClassFamily.getSchemas();
public void testAddEventClassFamilyVersion() throws Exception {
tenantAdminDto = createTenant(tenantAdminUser);
loginTenantAdmin(tenantAdminUser);
EventClassFamilyDto eventClassFamily = createEventClassFamily(tenantAdminDto.getId());
EventClassFamilyVersionDto eventClassFamilyVersion = createEventClassFamilyVersion(eventClassFamily.getId());
client.addEventClassFamilyVersion(eventClassFamily.getId(), eventClassFamilyVersion);
List<EventClassFamilyVersionDto> schemas = eventClassService.findEventClassFamilyVersionsById(eventClassFamily.getId());
Assert.assertNotNull(schemas);
Assert.assertEquals(1, schemas.size());
EventSchemaVersionDto eventSchema = schemas.get(0);
EventClassFamilyVersionDto eventSchema = schemas.get(0);
Assert.assertNotNull(eventSchema);
Assert.assertEquals(1, eventSchema.getVersion());

Assert.assertEquals(expectedSchema, new Schema.Parser().parse(eventSchema.getSchema()));

client.addEventClassFamilySchema(eventClassFamily.getId(), TEST_EVENT_CLASS_FAMILY_SCHEMA);
storedEventClassFamily = client.getEventClassFamilyById(eventClassFamily.getId());
schemas = storedEventClassFamily.getSchemas();

client.addEventClassFamilyVersion(eventClassFamily.getId(), eventClassFamilyVersion);
schemas = eventClassService.findEventClassFamilyVersionsById(eventClassFamily.getId());
Assert.assertNotNull(schemas);
Assert.assertEquals(2, schemas.size());
eventSchema = schemas.get(1);
Assert.assertNotNull(eventSchema);
Assert.assertEquals(2, eventSchema.getVersion());
Assert.assertEquals(expectedSchema, new Schema.Parser().parse(eventSchema.getSchema()));
}

/**
* Test duplicate event class family fqns.
*
* @throws Exception the exception
*/
@Test
public void testDuplicateEventClassFamilyFqns() throws Exception {
TenantUserDto tenant = createTenant(tenantAdminUser);
tenantAdminDto = createTenant(tenantAdminUser);
loginTenantAdmin(tenantAdminUser);
EventClassFamilyDto eventClassFamily = createEventClassFamily(tenant.getId());
client.addEventClassFamilySchema(eventClassFamily.getId(), TEST_EVENT_CLASS_FAMILY_SCHEMA);
final EventClassFamilyDto secondEventClassFamily = createEventClassFamily(tenant.getId(), "test");
EventClassFamilyDto eventClassFamily = createEventClassFamily(tenantAdminDto.getId());
final EventClassFamilyVersionDto eventClassFamilyVersion = createEventClassFamilyVersion(eventClassFamily.getId());
loginTenantAdmin(tenantAdminUser);
client.addEventClassFamilyVersion(eventClassFamily.getId(), eventClassFamilyVersion);
final EventClassFamilyDto secondEventClassFamily = createEventClassFamily(tenantAdminDto.getId(), "test");
checkBadRequest(new TestRestCall() {
@Override
public void executeRestCall() throws Exception {
client.addEventClassFamilySchema(secondEventClassFamily.getId(), TEST_EVENT_CLASS_FAMILY_SCHEMA);
client.addEventClassFamilyVersion(secondEventClassFamily.getId(), eventClassFamilyVersion);
}
});
}
Expand Down

0 comments on commit 6c2d4d3

Please sign in to comment.