1

remove checkGroup

This commit is contained in:
Christoph
2020-03-24 16:30:05 +01:00
parent 5916acc1c7
commit 8eda960e39
7 changed files with 74 additions and 76 deletions

View File

@ -86,8 +86,6 @@ dependencies {
}
testImplementation 'org.springframework.security:spring-security-test'
testImplementation 'com.tngtech.archunit:archunit-junit5:0.13.1'
implementation 'junit:junit:4.12'
implementation 'junit:junit:4.12'
}
test {

View File

@ -50,7 +50,7 @@ public class ControllerService {
*/
public void createGroup(Account account, String title, String description, Boolean maxInfiniteUsers, Boolean visibility, Long userMaximum, UUID parent) throws EventException {
Visibility visibility1;
UUID groupId = eventService.checkGroup();
UUID groupId = UUID.randomUUID();
if (visibility) {
visibility1 = Visibility.PUBLIC;
@ -73,7 +73,7 @@ public class ControllerService {
public void createOrga(Account account, String title, String description, Boolean visibility, Boolean lecture, Boolean maxInfiniteUsers, Long userMaximum, UUID parent, List<User> users) throws EventException {
Visibility visibility1;
UUID groupId = eventService.checkGroup();
UUID groupId = UUID.randomUUID();
if (visibility) {
visibility1 = Visibility.PUBLIC;

View File

@ -56,24 +56,6 @@ public class EventService {
return event.getClass().getName().substring(lastDot + 1);
}
/**
* Gibt die nächst höhere groupID zurück die belegt werden kann.
* Gibt 1 zurück, falls keine Gruppe vorhanden ist.
*
* @return Long GruppenId
*/
public UUID checkGroup() {
return UUID.randomUUID();
/*Long maxGroupID = eventStore.getMaxGroupID();
if (maxGroupID == null) {
return 1L;
}
return maxGroupID + 1;*/
}
/**
* Findet alle Events welche ab dem neuen Status hinzugekommen sind.
*

View File

@ -25,6 +25,19 @@ public class TestBuilder {
private static final Faker faker = new Faker();
/**
* Baut eine UUID.
*
* @param i Zahl von 0 bis 9
* @return UUID
*/
public static UUID idFromNumber(int i) {
if (i > 9) {
return null;
}
return UUID.fromString("00000000-0000-0000-0000-00000000000" + i);
}
/**
* Generiert ein EventLog mit mehreren Gruppen und Usern.
*

View File

@ -3,10 +3,14 @@ package mops.gruppen2.domain.event;
import mops.gruppen2.domain.Group;
import mops.gruppen2.domain.User;
import mops.gruppen2.domain.exception.EventException;
import mops.gruppen2.domain.exception.UserNotFoundException;
import org.junit.jupiter.api.Test;
import java.util.UUID;
import static mops.gruppen2.domain.Role.MEMBER;
import static org.assertj.core.api.Assertions.assertThat;
import static org.junit.jupiter.api.Assertions.assertThrows;
class DeleteUserEventTest {
@ -20,8 +24,8 @@ class DeleteUserEventTest {
group.getMembers().add(user2);
group.getRoles().put("user2", MEMBER);
//Event event = new DeleteUserEvent(1L, "user1");
//event.apply(group);
Event event = new DeleteUserEvent(UUID.randomUUID(), "user1");
event.apply(group);
assertThat(group.getMembers().size()).isEqualTo(1);
assertThat(group.getRoles().size()).isEqualTo(1);
@ -35,10 +39,10 @@ class DeleteUserEventTest {
group.getMembers().add(user);
group.getRoles().put("user1", MEMBER);
//Event event = new DeleteUserEvent(17L, "user5");
//assertThrows(UserNotFoundException.class, () ->
// event.apply(group)
//);
Event event = new DeleteUserEvent(UUID.randomUUID(), "user5");
assertThrows(UserNotFoundException.class, () ->
event.apply(group)
);
assertThat(group.getMembers().size()).isEqualTo(1);
}
}

View File

@ -11,8 +11,6 @@ import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import org.junit.runner.RunWith;
import org.mockito.junit.MockitoJUnitRunner;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.annotation.Rollback;
@ -21,6 +19,7 @@ import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.List;
import java.util.UUID;
import static org.assertj.core.api.Assertions.assertThat;
import static org.junit.jupiter.api.Assertions.assertEquals;
@ -29,7 +28,6 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
@SpringBootTest(classes = Gruppen2Application.class)
@Rollback
@Transactional
@RunWith(MockitoJUnitRunner.class)
class EventServiceTest {
@Autowired
@ -55,16 +53,16 @@ class EventServiceTest {
@Test
void checkGroupReturnNextValue() {
eventRepository.deleteAll();
CreateGroupEvent createGroupEvent = new CreateGroupEvent(eventService.checkGroup(), "lol", null, GroupType.SIMPLE, Visibility.PUBLIC, 20L);
CreateGroupEvent createGroupEvent = new CreateGroupEvent(UUID.fromString("A"), "lol", null, GroupType.SIMPLE, Visibility.PUBLIC, 20L);
eventService.saveEvent(createGroupEvent);
assertEquals(2L, eventService.checkGroup()); // weil in DataSQL eine Gruppe erstellt wird
assertEquals(2L, UUID.fromString("A")); // weil in DataSQL eine Gruppe erstellt wird
}
@Test
void checkGroupReturnOneIfDBIsEmpty() {
//dafür muss data.sql weg
eventRepository.deleteAll();
assertEquals(1L, eventService.checkGroup());
assertEquals(1L, UUID.fromString("A"));
}
@Test

View File

@ -1,19 +1,24 @@
package mops.gruppen2.service;
import mops.gruppen2.Gruppen2Application;
import mops.gruppen2.TestBuilder;
import mops.gruppen2.domain.Group;
import mops.gruppen2.domain.GroupType;
import mops.gruppen2.domain.Role;
import mops.gruppen2.domain.Visibility;
import mops.gruppen2.domain.event.*;
import mops.gruppen2.domain.event.AddUserEvent;
import mops.gruppen2.domain.event.CreateGroupEvent;
import mops.gruppen2.domain.event.DeleteGroupEvent;
import mops.gruppen2.domain.event.Event;
import mops.gruppen2.domain.event.UpdateGroupDescriptionEvent;
import mops.gruppen2.domain.event.UpdateGroupTitleEvent;
import mops.gruppen2.domain.event.UpdateRoleEvent;
import mops.gruppen2.repository.EventRepository;
import mops.gruppen2.security.Account;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import org.junit.runner.RunWith;
import org.mockito.junit.MockitoJUnitRunner;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.annotation.Rollback;
@ -21,17 +26,15 @@ import org.springframework.test.context.junit.jupiter.SpringExtension;
import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.UUID;
import static org.assertj.core.api.Assertions.assertThat;
import static org.mockito.Mockito.mock;
@ExtendWith(SpringExtension.class)
@SpringBootTest(classes = Gruppen2Application.class)
@Rollback
@Transactional
@RunWith(MockitoJUnitRunner.class)
class GroupServiceTest {
@Autowired
@ -47,32 +50,32 @@ class GroupServiceTest {
groupService = new GroupService(eventService, eventRepository);
}
@Test
void rightClassForSuccessfulGroup() {
List<Event> eventList = new ArrayList<>();
eventList.add(new CreateGroupEvent(1L, "Prof", null, GroupType.LECTURE, Visibility.PRIVATE, 1000L));
eventList.add(new AddUserEvent(1L, "Ulli", "Ulli", "Honnis", "FC@B.de"));
UUID id = UUID.randomUUID();
eventList.add(new CreateGroupEvent(id, "Prof", null, GroupType.LECTURE, Visibility.PRIVATE, 1000L));
eventList.add(new AddUserEvent(id, "Ulli", "Ulli", "Honnis", "FC@B.de"));
List<Group> groups = groupService.projectEventList(eventList);
assertThat(groups.get(0)).isInstanceOf(Group.class);
}
@Test
void getGroupEventsTest() {
CreateGroupEvent test1 = new CreateGroupEvent(eventService.checkGroup(), "test1", null, GroupType.SIMPLE, Visibility.PUBLIC, 20L);
CreateGroupEvent test2 = new CreateGroupEvent(eventService.checkGroup(), "test2", null, GroupType.SIMPLE, Visibility.PUBLIC, 10L);
CreateGroupEvent test1 = new CreateGroupEvent(TestBuilder.idFromNumber(0), "test1", null, GroupType.SIMPLE, Visibility.PUBLIC, 20L);
CreateGroupEvent test2 = new CreateGroupEvent(TestBuilder.idFromNumber(1), "test2", null, GroupType.SIMPLE, Visibility.PUBLIC, 10L);
eventService.saveEvent(test1);
eventService.saveEvent(test2);
List<Long> longs = new ArrayList<>();
longs.add(1L);
longs.add(2L);
List<UUID> longs = new ArrayList<>();
longs.add(TestBuilder.idFromNumber(0));
longs.add(TestBuilder.idFromNumber(1));
assertThat(groupService.getGroupEvents(longs).get(0).getUserId()).isEqualTo("test1");
}
@Test
void getAllGroupWithVisibilityPublicTestCreateAndDeleteSameGroup() {
CreateGroupEvent test1 = new CreateGroupEvent(eventService.checkGroup(), "test1", null, GroupType.SIMPLE, Visibility.PUBLIC, 20L);
DeleteGroupEvent test2 = new DeleteGroupEvent(eventService.checkGroup(), "test1");
CreateGroupEvent test1 = new CreateGroupEvent(TestBuilder.idFromNumber(0), "test1", null, GroupType.SIMPLE, Visibility.PUBLIC, 20L);
DeleteGroupEvent test2 = new DeleteGroupEvent(TestBuilder.idFromNumber(0), "test1");
eventService.saveEvent(test1);
eventService.saveEvent(test2);
assertThat(groupService.getAllGroupWithVisibilityPublic("test1").size()).isEqualTo(0);
@ -80,53 +83,53 @@ class GroupServiceTest {
@Test
void getAllGroupWithVisibilityPublicTestGroupPublic() {
eventService.saveEvent(new CreateGroupEvent(eventService.checkGroup(), "test1", null, GroupType.SIMPLE, Visibility.PUBLIC, 20L));
eventService.saveEvent(new DeleteGroupEvent(eventService.checkGroup(), "test1"));
eventService.saveEvent(new CreateGroupEvent(eventService.checkGroup(), "test2", null, GroupType.LECTURE, Visibility.PUBLIC, 10L));
eventService.saveEvent(new UpdateRoleEvent(eventService.checkGroup(), "test2", Role.MEMBER));
eventService.saveEvent(new CreateGroupEvent(TestBuilder.idFromNumber(0), "test1", null, GroupType.SIMPLE, Visibility.PUBLIC, 20L));
eventService.saveEvent(new DeleteGroupEvent(TestBuilder.idFromNumber(0), "test1"));
eventService.saveEvent(new CreateGroupEvent(TestBuilder.idFromNumber(1), "test2", null, GroupType.LECTURE, Visibility.PUBLIC, 10L));
eventService.saveEvent(new UpdateRoleEvent(TestBuilder.idFromNumber(1), "test2", Role.MEMBER));
assertThat(groupService.getAllGroupWithVisibilityPublic("test1").size()).isEqualTo(1);
}
@Test
void getAllGroupWithVisibilityPublicTestAddSomeEvents() {
eventService.saveEvent(new CreateGroupEvent(eventService.checkGroup(), "test1", null, GroupType.SIMPLE, Visibility.PUBLIC, 20L));
eventService.saveEvent(new DeleteGroupEvent(eventService.checkGroup(), "test1"));
eventService.saveEvent(new CreateGroupEvent(eventService.checkGroup(), "test2", null, GroupType.LECTURE, Visibility.PUBLIC, 10L));
eventService.saveEvent(new UpdateRoleEvent(eventService.checkGroup(), "test2", Role.MEMBER));
eventService.saveEvent(new CreateGroupEvent(eventService.checkGroup(), "test3", null, GroupType.LECTURE, Visibility.PUBLIC, 10L));
eventService.saveEvent(new CreateGroupEvent(eventService.checkGroup(), "test4", null, GroupType.LECTURE, Visibility.PUBLIC, 10L));
eventService.saveEvent(new CreateGroupEvent(eventService.checkGroup(), "test5", null, GroupType.LECTURE, Visibility.PUBLIC, 10L));
eventService.saveEvent(new CreateGroupEvent(TestBuilder.idFromNumber(0), "test1", null, GroupType.SIMPLE, Visibility.PUBLIC, 20L));
eventService.saveEvent(new DeleteGroupEvent(TestBuilder.idFromNumber(0), "test1"));
eventService.saveEvent(new CreateGroupEvent(TestBuilder.idFromNumber(1), "test2", null, GroupType.LECTURE, Visibility.PUBLIC, 10L));
eventService.saveEvent(new UpdateRoleEvent(TestBuilder.idFromNumber(1), "test2", Role.MEMBER));
eventService.saveEvent(new CreateGroupEvent(TestBuilder.idFromNumber(2), "test3", null, GroupType.LECTURE, Visibility.PUBLIC, 10L));
eventService.saveEvent(new CreateGroupEvent(TestBuilder.idFromNumber(3), "test4", null, GroupType.LECTURE, Visibility.PUBLIC, 10L));
eventService.saveEvent(new CreateGroupEvent(TestBuilder.idFromNumber(4), "test5", null, GroupType.LECTURE, Visibility.PUBLIC, 10L));
assertThat(groupService.getAllGroupWithVisibilityPublic("test1").size()).isEqualTo(4);
}
@Disabled
@Test
void getAllGroupWithVisibilityPublicTestIsUserInGroup() {
eventService.saveEvent(new CreateGroupEvent(eventService.checkGroup(), "test1", null, GroupType.SIMPLE, Visibility.PUBLIC, 20L));
eventService.saveEvent(new AddUserEvent(eventService.checkGroup(), "test1", "test", "test", "test@test"));
eventService.saveEvent(new CreateGroupEvent(TestBuilder.idFromNumber(0), "test1", null, GroupType.SIMPLE, Visibility.PUBLIC, 20L));
eventService.saveEvent(new AddUserEvent(TestBuilder.idFromNumber(0), "test1", "test", "test", "test@test"));
assertThat(groupService.getAllGroupWithVisibilityPublic("test2").get(0).getMembers().size()).isEqualTo(1);
}
@Test
void getAllLecturesWithVisibilityPublicTest() {
eventService.saveEvent(new CreateGroupEvent(eventService.checkGroup(), "test1", null, GroupType.SIMPLE, Visibility.PUBLIC, 20L));
eventService.saveEvent(new CreateGroupEvent(eventService.checkGroup(), "test2", null, GroupType.LECTURE, Visibility.PUBLIC, 10L));
eventService.saveEvent(new UpdateRoleEvent(eventService.checkGroup(), "test2", Role.MEMBER));
eventService.saveEvent(new CreateGroupEvent(eventService.checkGroup(), "test3", null, GroupType.LECTURE, Visibility.PUBLIC, 10L));
eventService.saveEvent(new CreateGroupEvent(eventService.checkGroup(), "test4", null, GroupType.LECTURE, Visibility.PUBLIC, 10L));
eventService.saveEvent(new CreateGroupEvent(eventService.checkGroup(), "test5", null, GroupType.LECTURE, Visibility.PUBLIC, 10L));
eventService.saveEvent(new CreateGroupEvent(TestBuilder.idFromNumber(0), "test1", null, GroupType.SIMPLE, Visibility.PUBLIC, 20L));
eventService.saveEvent(new CreateGroupEvent(TestBuilder.idFromNumber(1), "test2", null, GroupType.LECTURE, Visibility.PUBLIC, 10L));
eventService.saveEvent(new UpdateRoleEvent(TestBuilder.idFromNumber(1), "test2", Role.MEMBER));
eventService.saveEvent(new CreateGroupEvent(TestBuilder.idFromNumber(2), "test3", null, GroupType.LECTURE, Visibility.PUBLIC, 10L));
eventService.saveEvent(new CreateGroupEvent(TestBuilder.idFromNumber(3), "test4", null, GroupType.LECTURE, Visibility.PUBLIC, 10L));
eventService.saveEvent(new CreateGroupEvent(TestBuilder.idFromNumber(4), "test5", null, GroupType.LECTURE, Visibility.PUBLIC, 10L));
assertThat(groupService.getAllLecturesWithVisibilityPublic().size()).isEqualTo(4);
}
@Disabled
@Test
void findGroupWithTest(){
eventService.saveEvent(new CreateGroupEvent(eventService.checkGroup(), "test1", null, GroupType.SIMPLE, Visibility.PUBLIC, 20L));
eventService.saveEvent(new AddUserEvent(eventService.checkGroup(), "test1", "test", "test", "test@test"));
eventService.saveEvent(new UpdateGroupTitleEvent(eventService.checkGroup(), "test1", "TestGroup"));
eventService.saveEvent(new UpdateGroupDescriptionEvent(eventService.checkGroup(), "test1", "TestDescription"));
eventService.saveEvent(new UpdateRoleEvent( eventService.checkGroup(), "test1", Role.MEMBER));
assertThat(groupService.findGroupWith("T", new Account("jens", "a@A", "test", "peter" , "mueller", null)).size()).isEqualTo(1);
void findGroupWithTest() {
eventService.saveEvent(new CreateGroupEvent(TestBuilder.idFromNumber(0), "test1", null, GroupType.SIMPLE, Visibility.PUBLIC, 20L));
eventService.saveEvent(new AddUserEvent(TestBuilder.idFromNumber(0), "test1", "test", "test", "test@test"));
eventService.saveEvent(new UpdateGroupTitleEvent(TestBuilder.idFromNumber(0), "test1", "TestGroup"));
eventService.saveEvent(new UpdateGroupDescriptionEvent(TestBuilder.idFromNumber(0), "test1", "TestDescription"));
eventService.saveEvent(new UpdateRoleEvent(TestBuilder.idFromNumber(0), "test1", Role.MEMBER));
assertThat(groupService.findGroupWith("T", new Account("jens", "a@A", "test", "peter", "mueller", null)).size()).isEqualTo(1);
}
}