Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 4 additions & 3 deletions src/main/java/edu/tamu/app/controller/ServiceController.java
Original file line number Diff line number Diff line change
Expand Up @@ -53,8 +53,9 @@ public ApiResponse getService(@ApiVariable Long id) {
@Auth(role = "ROLE_SERVICE_MANAGER")
@ApiValidation(business = { @ApiValidation.Business(value = CREATE), @ApiValidation.Business(value = EXISTS) })
public ApiResponse createService(@ApiValidatedModel Service service) {
service = serviceRepo.create(service.getName(), service.getStatus(), service.getIsAuto(), service.getIsPublic(), service.getOnShortList(),service.getServiceUrl());
simpMessagingTemplate.convertAndSend("/channel/service", new ApiResponse(SUCCESS, serviceRepo.findOne(service.getId())));
System.out.println(service.getServiceUrl());
service = serviceRepo.create(service.getName(), service.getStatus(), service.getIsAuto(), service.getIsPublic(), service.getOnShortList(), service.getServiceUrl());
simpMessagingTemplate.convertAndSend("/channel/service", new ApiResponse(SUCCESS, serviceRepo.findAll()));
return new ApiResponse(SUCCESS, service);
}

Expand All @@ -63,7 +64,7 @@ public ApiResponse createService(@ApiValidatedModel Service service) {
@ApiValidation(business = { @ApiValidation.Business(value = UPDATE), @ApiValidation.Business(value = NONEXISTS) })
public ApiResponse updateService(@ApiValidatedModel Service service) {
service = serviceRepo.save(service);
simpMessagingTemplate.convertAndSend("/channel/service", new ApiResponse(SUCCESS, serviceRepo.findOne(service.getId())));
simpMessagingTemplate.convertAndSend("/channel/service", new ApiResponse(SUCCESS, serviceRepo.findAll()));
return new ApiResponse(SUCCESS, service);
}

Expand Down
2 changes: 1 addition & 1 deletion src/main/java/edu/tamu/app/model/Service.java
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ public class Service extends BaseEntity {
@Column(nullable = false)
private boolean isAuto;

@Column(nullable = true, unique = true)
@Column(nullable = true)
private String serviceUrl;

@Column(nullable = false)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,9 @@
public class ServiceValidator extends BaseModelValidator {

public ServiceValidator() {
System.out.println("validating");
String nameProperty = "name";
this.addInputValidator(new InputValidator(InputValidationType.required, "Service requires a name", nameProperty, true));
this.addInputValidator(new InputValidator(InputValidationType.minlength, "Service name must be at least 1 characters", nameProperty, 1));
this.addInputValidator(new InputValidator(InputValidationType.minlength, "Service name must be at least 3 characters", nameProperty, 3));

String statusProperty = "status";
this.addInputValidator(new InputValidator(InputValidationType.required, "Service requires an enum status", statusProperty, true));
Expand Down
71 changes: 71 additions & 0 deletions src/main/java/edu/tamu/app/service/OverallStatusService.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
package edu.tamu.app.service;

import static edu.tamu.app.enums.OverallMessageType.ERROR;
import static edu.tamu.app.enums.OverallMessageType.SUCCESS;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;

import edu.tamu.app.enums.Status;
import edu.tamu.app.model.OverallStatus;
import edu.tamu.app.model.Service;
import edu.tamu.app.model.repo.ServiceRepo;

@org.springframework.stereotype.Service
public class OverallStatusService {

@Autowired
private ServiceRepo serviceRepo;

private OverallStatus overallStatusFull;

private OverallStatus overallStatusPublic;

private static final String SUCCESS_MESSAGE = "All services are working.";
private static final String ERROR_MESSAGE = "Some services are experiencing problems.";

public OverallStatus getOverallStatusFull() {
return overallStatusFull;
}

public OverallStatus getOverallStatusPublic() {
return overallStatusPublic;
}

public void updateStatuses() {

List<Service> servicesFull = serviceRepo.findAll();
List<Service> servicesPublic = serviceRepo.findByIsPublic(true);

boolean fullServicesAreUp = true;
boolean publicServicesAreUp = true;

for(Service service : servicesFull) {
if(service.getStatus().equals(Status.DOWN)) {
fullServicesAreUp = false;
break;
}
}

for(Service service : servicesPublic) {
if(service.getStatus().equals(Status.DOWN)) {
publicServicesAreUp = false;
break;
}
}

if(fullServicesAreUp) {
this.overallStatusFull = new OverallStatus(SUCCESS, SUCCESS_MESSAGE);
} else {
this.overallStatusFull = new OverallStatus(ERROR, ERROR_MESSAGE);
}

if(publicServicesAreUp) {
this.overallStatusPublic = new OverallStatus(SUCCESS, SUCCESS_MESSAGE);
} else {
this.overallStatusPublic = new OverallStatus(ERROR, ERROR_MESSAGE);
}

}
}
10 changes: 5 additions & 5 deletions src/test/java/controller/ServiceControllerTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -41,10 +41,10 @@ public class ServiceControllerTest {
protected static final Boolean TEST_ON_SHORT_LIST = true;
protected static final Boolean TEST_NOT_ON_SHORT_LIST = false;

protected static Service TEST_SERVICE1 = new Service(TEST_SERVICE1_NAME, TEST_SERVICE_STATUS, TEST_IS_AUTO, TEST_IS_PUBLIC, TEST_ON_SHORT_LIST,null);
protected static Service TEST_SERVICE2 = new Service(TEST_SERVICE2_NAME, TEST_SERVICE_STATUS, TEST_IS_AUTO, TEST_IS_NOT_PUBLIC, TEST_ON_SHORT_LIST,null);
protected static Service TEST_SERVICE3 = new Service(TEST_SERVICE3_NAME, TEST_SERVICE_STATUS, TEST_IS_AUTO, TEST_IS_PUBLIC, TEST_NOT_ON_SHORT_LIST,null);
protected static Service TEST_MODIFIED_SERVICE1 = new Service(TEST_SERVICE1_NAME, TEST_SERVICE_STATUS, TEST_IS_AUTO, TEST_IS_NOT_PUBLIC, TEST_NOT_ON_SHORT_LIST,null);
protected static Service TEST_SERVICE1 = new Service(TEST_SERVICE1_NAME, TEST_SERVICE_STATUS, TEST_IS_AUTO, TEST_IS_PUBLIC, TEST_ON_SHORT_LIST, "");
protected static Service TEST_SERVICE2 = new Service(TEST_SERVICE2_NAME, TEST_SERVICE_STATUS, TEST_IS_AUTO, TEST_IS_NOT_PUBLIC, TEST_ON_SHORT_LIST, "");
protected static Service TEST_SERVICE3 = new Service(TEST_SERVICE3_NAME, TEST_SERVICE_STATUS, TEST_IS_AUTO, TEST_IS_PUBLIC, TEST_NOT_ON_SHORT_LIST, "");
protected static Service TEST_MODIFIED_SERVICE1 = new Service(TEST_SERVICE1_NAME, TEST_SERVICE_STATUS, TEST_IS_AUTO, TEST_IS_NOT_PUBLIC, TEST_NOT_ON_SHORT_LIST, "");
protected static List<Service> mockServiceList = new ArrayList<Service>(Arrays.asList(new Service[] { TEST_SERVICE1, TEST_SERVICE2,TEST_SERVICE3 }));
protected static List<Service> mockPublicServiceList = new ArrayList<Service>(Arrays.asList(new Service[] { TEST_SERVICE1, TEST_SERVICE3 }));

Expand All @@ -65,7 +65,7 @@ public void setUp() {
when(serviceRepo.findAll()).thenReturn(mockServiceList);
when(serviceRepo.findByIsPublic(true)).thenReturn(mockPublicServiceList);
when(serviceRepo.findOne(any(Long.class))).thenReturn(TEST_SERVICE1);
when(serviceRepo.create(any(String.class), any(Status.class), any(Boolean.class), any(Boolean.class), any(Boolean.class),null)).thenReturn(TEST_SERVICE1);
when(serviceRepo.create(any(String.class), any(Status.class), any(Boolean.class), any(Boolean.class), any(Boolean.class), any(String.class))).thenReturn(TEST_SERVICE1);
when(serviceRepo.save(any(Service.class))).thenReturn(TEST_MODIFIED_SERVICE1);
doNothing().when(serviceRepo).delete(any(Service.class));
}
Expand Down
2 changes: 1 addition & 1 deletion src/test/java/edu/tamu/app/model/NoteTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,7 @@ private Note refreshNote(Note note) {

@Test
public void testUpdateServices() {
Service service1 = serviceRepo.create(TEST_SERVICE_NAME, TEST_SERVICE_STATUS, TEST_IS_AUTO, TEST_IS_PUBLIC, TEST_ON_SHORT_LIST,null);
Service service1 = serviceRepo.create(TEST_SERVICE_NAME, TEST_SERVICE_STATUS, TEST_IS_AUTO, TEST_IS_PUBLIC, TEST_ON_SHORT_LIST, null);
Service service2 = serviceRepo.create(TEST_ALTERNATIVE_SERVICE_NAME, TEST_SERVICE_STATUS, TEST_IS_AUTO, TEST_IS_PUBLIC, TEST_ON_SHORT_LIST, null);
List<Service> serviceList1 = Arrays.asList(service1);
List<Service> serviceList2 = Arrays.asList(service1, service2);
Expand Down
20 changes: 10 additions & 10 deletions src/test/java/edu/tamu/app/model/ServiceTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -59,28 +59,28 @@ public void setUp() {
@Test
public void testCreate() {
long initalCount = serviceRepo.count();
serviceRepo.create(TEST_SERVICE_NAME, TEST_SERVICE_STATUS, TEST_IS_AUTO, TEST_IS_PUBLIC, TEST_ON_SHORT_LIST,null);
serviceRepo.create(TEST_SERVICE_NAME, TEST_SERVICE_STATUS, TEST_IS_AUTO, TEST_IS_PUBLIC, TEST_ON_SHORT_LIST, null);
assertEquals("The number of Services did not increase by one", initalCount + 1, serviceRepo.count());
}

@Test(expected = DataIntegrityViolationException.class)
public void testNameNotNull() {
serviceRepo.create(null, TEST_SERVICE_STATUS, TEST_IS_AUTO, TEST_IS_PUBLIC, TEST_ON_SHORT_LIST,null);
serviceRepo.create(null, TEST_SERVICE_STATUS, TEST_IS_AUTO, TEST_IS_PUBLIC, TEST_ON_SHORT_LIST, null);
}

@Test(expected = DataIntegrityViolationException.class)
public void testStatusNotNull() {
serviceRepo.create(TEST_SERVICE_NAME, null, TEST_IS_AUTO, TEST_IS_PUBLIC, TEST_ON_SHORT_LIST,null);
serviceRepo.create(TEST_SERVICE_NAME, null, TEST_IS_AUTO, TEST_IS_PUBLIC, TEST_ON_SHORT_LIST, null);
}

@Test(expected = ConstraintViolationException.class)
public void testNameNotEmpty() {
serviceRepo.create("", TEST_SERVICE_STATUS, TEST_IS_AUTO, TEST_IS_PUBLIC, TEST_ON_SHORT_LIST,null);
serviceRepo.create("", TEST_SERVICE_STATUS, TEST_IS_AUTO, TEST_IS_PUBLIC, TEST_ON_SHORT_LIST, null);
}

@Test
public void testUpdateName() {
Service service = serviceRepo.create(TEST_SERVICE_NAME, TEST_SERVICE_STATUS, TEST_IS_AUTO, TEST_IS_PUBLIC, TEST_ON_SHORT_LIST,null);
Service service = serviceRepo.create(TEST_SERVICE_NAME, TEST_SERVICE_STATUS, TEST_IS_AUTO, TEST_IS_PUBLIC, TEST_ON_SHORT_LIST, null);
service.setName(TEST_ALTERNATIVE_SERVICE_NAME);
service = refreshService(service);
assertEquals("Service name was not changed", TEST_ALTERNATIVE_SERVICE_NAME, service.getName());
Expand All @@ -93,7 +93,7 @@ private Service refreshService(Service service) {

@Test
public void testUpdateAliases() {
Service service = serviceRepo.create(TEST_SERVICE_NAME, TEST_SERVICE_STATUS, TEST_IS_AUTO, TEST_IS_PUBLIC, TEST_ON_SHORT_LIST,null);
Service service = serviceRepo.create(TEST_SERVICE_NAME, TEST_SERVICE_STATUS, TEST_IS_AUTO, TEST_IS_PUBLIC, TEST_ON_SHORT_LIST, null);
service.setAliases(TEST_SERVICE_ALIASES);
service = refreshService(service);
assertEquals("Service aliases not set", true, service.getAliases().contains("Alias 1"));
Expand All @@ -104,15 +104,15 @@ public void testUpdateAliases() {

@Test
public void testUpdateStatus() {
Service service = serviceRepo.create(TEST_SERVICE_NAME, TEST_SERVICE_STATUS, TEST_IS_AUTO, TEST_IS_PUBLIC, TEST_ON_SHORT_LIST,null);
Service service = serviceRepo.create(TEST_SERVICE_NAME, TEST_SERVICE_STATUS, TEST_IS_AUTO, TEST_IS_PUBLIC, TEST_ON_SHORT_LIST, null);
service.setStatus(TEST_ALTERNATIVE_SERVICE_STATUS);
service = refreshService(service);
assertEquals("Service status was not changed", TEST_ALTERNATIVE_SERVICE_STATUS, service.getStatus());
}

@Test
public void testUpdateServiceUrl() {
Service service = serviceRepo.create(TEST_SERVICE_NAME, TEST_SERVICE_STATUS, TEST_IS_AUTO, TEST_IS_PUBLIC, TEST_ON_SHORT_LIST,null);
Service service = serviceRepo.create(TEST_SERVICE_NAME, TEST_SERVICE_STATUS, TEST_IS_AUTO, TEST_IS_PUBLIC, TEST_ON_SHORT_LIST, null);
service.setServiceUrl(TEST_SERVICE_URL);
service = refreshService(service);
assertEquals("Service status url was not changed", TEST_SERVICE_URL, service.getServiceUrl());
Expand All @@ -124,7 +124,7 @@ public void testUpdateNotes() {
Note note2 = noteRepo.create(TEST_NOTE_TITLE2, testUser);
List<Note> noteList1 = Arrays.asList(note1);
List<Note> noteList2 = Arrays.asList(note1, note2);
Service service = serviceRepo.create(TEST_SERVICE_NAME, TEST_SERVICE_STATUS, TEST_IS_AUTO, TEST_IS_PUBLIC, TEST_ON_SHORT_LIST,null);
Service service = serviceRepo.create(TEST_SERVICE_NAME, TEST_SERVICE_STATUS, TEST_IS_AUTO, TEST_IS_PUBLIC, TEST_ON_SHORT_LIST, null);
service.setNotes(noteList1);
service = refreshService(service);
assertEquals("Service notes did not contain the right number of notes", 1, service.getNotes().size());
Expand All @@ -138,7 +138,7 @@ public void testUpdateNotes() {
@Test
public void testDelete() {
long initialCount = serviceRepo.count();
Service service = serviceRepo.create(TEST_SERVICE_NAME, TEST_ALTERNATIVE_SERVICE_STATUS, TEST_IS_AUTO, TEST_IS_PUBLIC, TEST_ON_SHORT_LIST,null);
Service service = serviceRepo.create(TEST_SERVICE_NAME, TEST_ALTERNATIVE_SERVICE_STATUS, TEST_IS_AUTO, TEST_IS_PUBLIC, TEST_ON_SHORT_LIST, null);
assertEquals("The service was not created", initialCount + 1, serviceRepo.count());
serviceRepo.delete(service);
assertEquals("The service was not deleted", initialCount, serviceRepo.count());
Expand Down