Search in sources :

Example 1 with CourseStaffMemberRole

use of fi.otavanopisto.pyramus.rest.model.CourseStaffMemberRole in project muikku by otavanopisto.

the class PyramusUpdater method updateUserRoles.

/**
 * Updates user roles from Pyramus
 *
 * @return count of updates roles
 */
public int updateUserRoles() {
    int count = 0;
    List<RoleSchoolDataIdentifier> existingRoleIdentifiers = roleSchoolDataIdentifierController.listRoleSchoolDataIdentifiersByDataSource(SchoolDataPyramusPluginDescriptor.SCHOOL_DATA_SOURCE);
    Map<String, RoleSchoolDataIdentifier> removedIdentifiers = new HashMap<>();
    for (RoleSchoolDataIdentifier existingRoleIdentifier : existingRoleIdentifiers) {
        removedIdentifiers.put(existingRoleIdentifier.getIdentifier(), existingRoleIdentifier);
    }
    for (fi.otavanopisto.pyramus.rest.model.UserRole userRole : fi.otavanopisto.pyramus.rest.model.UserRole.values()) {
        String roleIdentifier = identifierMapper.getEnvironmentRoleIdentifier(userRole);
        removedIdentifiers.remove(roleIdentifier);
        if (environmentRoleEntityController.findEnvironmentRoleEntity(SchoolDataPyramusPluginDescriptor.SCHOOL_DATA_SOURCE, roleIdentifier) == null) {
            EnvironmentRole environmentRole = entityFactory.createEntity(userRole);
            schoolDataEnvironmentRoleDiscoveredEvent.fire(new SchoolDataEnvironmentRoleDiscoveredEvent(environmentRole.getSchoolDataSource(), environmentRole.getIdentifier(), environmentRole.getArchetype(), environmentRole.getName()));
            count++;
        }
    }
    CourseStaffMemberRole[] staffMemberRoles = pyramusClient.get().get("/courses/staffMemberRoles", CourseStaffMemberRole[].class);
    if (staffMemberRoles == null || staffMemberRoles.length == 0) {
        logger.warning("Aborting role synchronization because Pyramus has no course staff member roles");
        return count;
    }
    for (CourseStaffMemberRole staffMemberRole : staffMemberRoles) {
        String identifier = identifierMapper.getWorkspaceStaffRoleIdentifier(staffMemberRole.getId());
        removedIdentifiers.remove(identifier);
        WorkspaceRoleEntity workspaceRoleEntity = workspaceRoleEntityController.findWorkspaceRoleEntityByDataSourceAndIdentifier(SchoolDataPyramusPluginDescriptor.SCHOOL_DATA_SOURCE, identifier);
        if (workspaceRoleEntity == null) {
            WorkspaceRole workspaceRole = entityFactory.createEntity(staffMemberRole);
            schoolDataWorkspaceRoleDiscoveredEvent.fire(new SchoolDataWorkspaceRoleDiscoveredEvent(workspaceRole.getSchoolDataSource(), workspaceRole.getIdentifier(), workspaceRole.getArchetype(), workspaceRole.getName()));
            count++;
        }
    }
    WorkspaceRole studentRole = entityFactory.createCourseStudentRoleEntity();
    removedIdentifiers.remove(studentRole.getIdentifier());
    WorkspaceRoleEntity studentWorkspaceRoleEntity = workspaceRoleEntityController.findWorkspaceRoleEntityByDataSourceAndIdentifier(studentRole.getSchoolDataSource(), studentRole.getIdentifier());
    if (studentWorkspaceRoleEntity == null) {
        schoolDataWorkspaceRoleDiscoveredEvent.fire(new SchoolDataWorkspaceRoleDiscoveredEvent(studentRole.getSchoolDataSource(), studentRole.getIdentifier(), studentRole.getArchetype(), studentRole.getName()));
        count++;
    }
    Set<String> removedIdentifierIds = removedIdentifiers.keySet();
    for (String removedIdentifierId : removedIdentifierIds) {
        RoleSchoolDataIdentifier removedIdentifier = removedIdentifiers.get(removedIdentifierId);
        if (removedIdentifier.getRoleEntity().getType() == UserRoleType.ENVIRONMENT) {
            schoolDataEnvironmentRoleRemovedEvent.fire(new SchoolDataEnvironmentRoleRemovedEvent(removedIdentifier.getDataSource().getIdentifier(), removedIdentifier.getIdentifier()));
        } else if (removedIdentifier.getRoleEntity().getType() == UserRoleType.WORKSPACE) {
            schoolDataWorkspaceRoleRemovedEvent.fire(new SchoolDataWorkspaceRoleRemovedEvent(removedIdentifier.getDataSource().getIdentifier(), removedIdentifier.getIdentifier()));
        }
    }
    return count;
}
Also used : CourseStaffMemberRole(fi.otavanopisto.pyramus.rest.model.CourseStaffMemberRole) SchoolDataWorkspaceRoleDiscoveredEvent(fi.otavanopisto.muikku.schooldata.events.SchoolDataWorkspaceRoleDiscoveredEvent) UserRole(fi.otavanopisto.pyramus.rest.model.UserRole) HashMap(java.util.HashMap) SchoolDataEnvironmentRoleDiscoveredEvent(fi.otavanopisto.muikku.schooldata.events.SchoolDataEnvironmentRoleDiscoveredEvent) SchoolDataEnvironmentRoleRemovedEvent(fi.otavanopisto.muikku.schooldata.events.SchoolDataEnvironmentRoleRemovedEvent) WorkspaceRole(fi.otavanopisto.muikku.schooldata.entity.WorkspaceRole) RoleSchoolDataIdentifier(fi.otavanopisto.muikku.model.users.RoleSchoolDataIdentifier) SchoolDataWorkspaceRoleRemovedEvent(fi.otavanopisto.muikku.schooldata.events.SchoolDataWorkspaceRoleRemovedEvent) EnvironmentRole(fi.otavanopisto.muikku.schooldata.entity.EnvironmentRole) WorkspaceRoleEntity(fi.otavanopisto.muikku.model.workspace.WorkspaceRoleEntity)

Example 2 with CourseStaffMemberRole

use of fi.otavanopisto.pyramus.rest.model.CourseStaffMemberRole in project muikku by otavanopisto.

the class PyramusMocksRest method mockRoles.

public static void mockRoles(List<String> payloads) throws JsonProcessingException {
    ObjectMapper objectMapper = new ObjectMapper().registerModule(new JSR310Module()).disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS);
    CourseStaffMemberRole[] roles = { new CourseStaffMemberRole(7l, "Opettaja"), new CourseStaffMemberRole(8l, "Tutor"), new CourseStaffMemberRole(9l, "Vastuuhenkilö"), new CourseStaffMemberRole(10l, "Opiskelija") };
    stubFor(get(urlEqualTo("/1/courses/staffMemberRoles")).willReturn(aResponse().withHeader("Content-Type", "application/json").withBody(objectMapper.writeValueAsString(roles)).withStatus(200)));
    for (CourseStaffMemberRole role : roles) {
        stubFor(get(urlEqualTo(String.format("/1/courses/staffMemberRoles/%d", role.getId()))).willReturn(aResponse().withHeader("Content-Type", "application/json").withBody(objectMapper.writeValueAsString(role)).withStatus(200)));
    }
}
Also used : CourseStaffMemberRole(fi.otavanopisto.pyramus.rest.model.CourseStaffMemberRole) JSR310Module(com.fasterxml.jackson.datatype.jsr310.JSR310Module) ObjectMapper(com.fasterxml.jackson.databind.ObjectMapper)

Example 3 with CourseStaffMemberRole

use of fi.otavanopisto.pyramus.rest.model.CourseStaffMemberRole in project muikku by otavanopisto.

the class PyramusMocks method personsPyramusMocks.

public static void personsPyramusMocks() throws Exception {
    ObjectMapper objectMapper = new ObjectMapper().registerModule(new JSR310Module()).disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS);
    Map<String, String> variables = null;
    List<String> tags = null;
    OffsetDateTime birthday = OffsetDateTime.of(1990, 2, 2, 0, 0, 0, 0, ZoneOffset.UTC);
    Person person = mockPerson(1l, birthday, "030545-3453", fi.otavanopisto.pyramus.rest.model.Sex.MALE, 1l);
    Student student = new Student((long) 1, (long) 1, "Test", "User", null, null, null, null, null, null, null, null, null, null, null, (long) 1, null, null, null, false, null, null, null, null, variables, tags, false);
    String studentJson = objectMapper.writeValueAsString(student);
    stubFor(get(urlEqualTo("/1/students/students/1")).willReturn(aResponse().withHeader("Content-Type", "application/json").withBody(studentJson).withStatus(200)));
    Email email = new Email((long) 1, (long) 1, true, "testuser@example.com");
    Email[] emails = { email };
    String emailJson = objectMapper.writeValueAsString(emails);
    stubFor(get(urlEqualTo("/1/students/students/1/emails")).willReturn(aResponse().withHeader("Content-Type", "application/json").withBody(emailJson).withStatus(200)));
    Student[] studentArray = { student };
    String studentArrayJson = objectMapper.writeValueAsString(studentArray);
    stubFor(get(urlEqualTo("/1/students/students?email=testuser@example.com")).willReturn(aResponse().withHeader("Content-Type", "application/json").withBody(studentArrayJson).withStatus(200)));
    /* Student #2 for workspace #2*/
    OffsetDateTime birthday2 = OffsetDateTime.of(1992, 2, 2, 0, 0, 0, 0, ZoneOffset.UTC);
    Person person2 = mockPerson(5l, birthday2, "021092-2112", fi.otavanopisto.pyramus.rest.model.Sex.MALE, 5l);
    Student student2 = new Student((long) 5, (long) 5, "Second", "User", null, null, null, null, null, null, null, null, null, null, null, (long) 1, null, null, null, false, null, null, null, null, variables, tags, false);
    String student2Json = objectMapper.writeValueAsString(student2);
    stubFor(get(urlEqualTo("/1/students/students/5")).willReturn(aResponse().withHeader("Content-Type", "application/json").withBody(student2Json).withStatus(200)));
    Email email2 = new Email((long) 5, (long) 1, true, "seconduser@example.com");
    Email[] emails2 = { email2 };
    String email2Json = objectMapper.writeValueAsString(emails2);
    stubFor(get(urlEqualTo("/1/students/students/5/emails")).willReturn(aResponse().withHeader("Content-Type", "application/json").withBody(email2Json).withStatus(200)));
    Student[] student2Array = { student2 };
    String student2ArrayJson = objectMapper.writeValueAsString(student2Array);
    stubFor(get(urlEqualTo("/1/students/students?email=seconduser@example.com")).willReturn(aResponse().withHeader("Content-Type", "application/json").withBody(student2ArrayJson).withStatus(200)));
    /* Student #2 for workspace #2 */
    Person staff1 = mockPerson(2l, birthday, "030545-3454", fi.otavanopisto.pyramus.rest.model.Sex.MALE, 2l);
    Person staff2 = mockPerson(3l, birthday, "030545-3455", fi.otavanopisto.pyramus.rest.model.Sex.MALE, 3l);
    Person staff3 = mockPerson(4l, birthday, "030545-3456", fi.otavanopisto.pyramus.rest.model.Sex.MALE, 4l);
    Person[] personArray = { person, person2, staff1, staff2, staff3 };
    String personArrayJson = objectMapper.writeValueAsString(personArray);
    stubFor(get(urlMatching("/1/persons/persons?filterArchived=.*")).willReturn(aResponse().withHeader("Content-Type", "application/json").withBody(personArrayJson).withStatus(200)));
    stubFor(get(urlEqualTo("/1/persons/persons")).willReturn(aResponse().withHeader("Content-Type", "application/json").withBody(personArrayJson).withStatus(200)));
    Student[] students = { student, student2 };
    student2ArrayJson = objectMapper.writeValueAsString(students);
    stubFor(get(urlMatching("/1/students/students?filterArchived=false&firstResult=.*&maxResults=.*")).willReturn(aResponse().withHeader("Content-Type", "application/json").withBody(studentArrayJson).withStatus(200)));
    StaffMember staffMember1 = new StaffMember((long) 2, (long) 2, null, "Test", "Staff1member", null, fi.otavanopisto.pyramus.rest.model.UserRole.MANAGER, tags, variables);
    String staffMemberJson = objectMapper.writeValueAsString(staffMember1);
    stubFor(get(urlEqualTo("/1/staff/members/2")).willReturn(aResponse().withHeader("Content-Type", "application/json").withBody(staffMemberJson).withStatus(200)));
    StaffMember[] staffMemberArray = { staffMember1 };
    String staffMemberArrayJson = objectMapper.writeValueAsString(staffMemberArray);
    stubFor(get(urlEqualTo("/1/staff/members?email=teacher@example.com")).willReturn(aResponse().withHeader("Content-Type", "application/json").withBody(staffMemberArrayJson).withStatus(200)));
    StaffMember staffMember2 = new StaffMember((long) 3, (long) 3, null, "Test", "Staff2member", null, fi.otavanopisto.pyramus.rest.model.UserRole.MANAGER, tags, variables);
    staffMemberJson = objectMapper.writeValueAsString(staffMember2);
    stubFor(get(urlEqualTo("/1/staff/members/3")).willReturn(aResponse().withHeader("Content-Type", "application/json").withBody(staffMemberJson).withStatus(200)));
    StaffMember[] staffMember2Array = { staffMember2 };
    staffMemberArrayJson = objectMapper.writeValueAsString(staffMember2Array);
    stubFor(get(urlEqualTo("/1/staff/members?email=mana@example.com")).willReturn(aResponse().withHeader("Content-Type", "application/json").withBody(staffMemberArrayJson).withStatus(200)));
    StaffMember staffMember3 = new StaffMember((long) 4, (long) 4, null, "Test", "Administrator", null, fi.otavanopisto.pyramus.rest.model.UserRole.ADMINISTRATOR, tags, variables);
    staffMemberJson = objectMapper.writeValueAsString(staffMember3);
    stubFor(get(urlEqualTo("/1/staff/members/4")).willReturn(aResponse().withHeader("Content-Type", "application/json").withBody(staffMemberJson).withStatus(200)));
    StaffMember[] staffMember3Array = { staffMember3 };
    staffMemberArrayJson = objectMapper.writeValueAsString(staffMember3Array);
    stubFor(get(urlEqualTo("/1/staff/members?email=admin@example.com")).willReturn(aResponse().withHeader("Content-Type", "application/json").withBody(staffMemberArrayJson).withStatus(200)));
    StaffMember[] staffArray = { staffMember1, staffMember2, staffMember3 };
    String staffArrayJson = objectMapper.writeValueAsString(staffArray);
    stubFor(get(urlEqualTo("/1/staff/members")).willReturn(aResponse().withHeader("Content-Type", "application/json").withBody(staffArrayJson).withStatus(200)));
    stubFor(get(urlEqualTo("1/courses/courses/1/staffMembers")).willReturn(aResponse().withHeader("Content-Type", "application/json").withBody(staffArrayJson).withStatus(200)));
    staffMemberJson = objectMapper.writeValueAsString(staffMember1);
    stubFor(get(urlEqualTo("1/courses/courses/1/staffMembers/2")).willReturn(aResponse().withHeader("Content-Type", "application/json").withBody(staffMemberJson).withStatus(200)));
    staffMemberJson = objectMapper.writeValueAsString(staffMember2);
    stubFor(get(urlEqualTo("1/courses/courses/1/staffMembers/3")).willReturn(aResponse().withHeader("Content-Type", "application/json").withBody(staffMemberJson).withStatus(200)));
    staffMemberJson = objectMapper.writeValueAsString(staffMember3);
    stubFor(get(urlEqualTo("1/courses/courses/1/staffMembers/4")).willReturn(aResponse().withHeader("Content-Type", "application/json").withBody(staffMemberJson).withStatus(200)));
    Email staff1Email = new Email((long) 2, (long) 1, true, "teacher@example.com");
    Email[] staff1Emails = { staff1Email };
    String staff1EmailJson = objectMapper.writeValueAsString(staff1Emails);
    stubFor(get(urlEqualTo("/1/staff/members/2/emails")).willReturn(aResponse().withHeader("Content-Type", "application/json").withBody(staff1EmailJson).withStatus(200)));
    Email staff2Email = new Email((long) 3, (long) 1, true, "mana@example.com");
    Email[] staff2Emails = { staff2Email };
    String staff2EmailJson = objectMapper.writeValueAsString(staff2Emails);
    stubFor(get(urlEqualTo("/1/staff/members/3/emails")).willReturn(aResponse().withHeader("Content-Type", "application/json").withBody(staff2EmailJson).withStatus(200)));
    Email staff3Email = new Email((long) 4, (long) 1, true, "admin@example.com");
    Email[] staff3Emails = { staff3Email };
    String staff3EmailJson = objectMapper.writeValueAsString(staff3Emails);
    stubFor(get(urlEqualTo("/1/staff/members/4/emails")).willReturn(aResponse().withHeader("Content-Type", "application/json").withBody(staff3EmailJson).withStatus(200)));
    CourseStaffMemberRole teacherRole = new CourseStaffMemberRole((long) 8, "Opettaja");
    CourseStaffMemberRole[] cRoleArray = { teacherRole };
    String cRoleJson = objectMapper.writeValueAsString(cRoleArray);
    stubFor(get(urlEqualTo("/1/courses/staffMemberRoles")).willReturn(aResponse().withHeader("Content-Type", "application/json").withBody(cRoleJson).withStatus(200)));
    for (CourseStaffMemberRole role : cRoleArray) {
        stubFor(get(urlEqualTo(String.format("/1/courses/staffMemberRoles/%d", role.getId()))).willReturn(aResponse().withHeader("Content-Type", "application/json").withBody(objectMapper.writeValueAsString(role)).withStatus(200)));
    }
    CourseStaffMember staffMember = new CourseStaffMember(1l, 1l, 4l, 1l);
    CourseStaffMember[] staffMembers = { staffMember };
    stubFor(get(urlEqualTo(String.format("/1/courses/courses/%d/staffMembers", 1l))).willReturn(aResponse().withHeader("Content-Type", "application/json").withBody(objectMapper.writeValueAsString(staffMembers)).withStatus(200)));
    stubFor(get(urlEqualTo(String.format("/1/courses/courses/%d/staffMembers/%d", 1l, staffMember.getId()))).willReturn(aResponse().withHeader("Content-Type", "application/json").withBody(objectMapper.writeValueAsString(staffMember)).withStatus(200)));
    stubFor(get(urlEqualTo(String.format("/1/courses/courses/%d/staffMembers", 2l))).willReturn(aResponse().withHeader("Content-Type", "application/json").withBody(objectMapper.writeValueAsString(staffMembers)).withStatus(200)));
    stubFor(get(urlEqualTo(String.format("/1/courses/courses/%d/staffMembers/%d", 2l, staffMember.getId()))).willReturn(aResponse().withHeader("Content-Type", "application/json").withBody(objectMapper.writeValueAsString(staffMember)).withStatus(200)));
    stubFor(get(urlMatching("/1/courses/courses/1/students?filterArchived=.*")).willReturn(aResponse().withHeader("Content-Type", "application/json").withBody(studentArrayJson).withStatus(200)));
    mockContactTypes();
    mockStudyProgrammes();
    CourseStudent courseStudent = new CourseStudent(3l, 1l, 1l, OffsetDateTime.of(2010, 2, 2, 0, 0, 0, 0, ZoneOffset.UTC), false, null, null, null, null, null);
    CourseStudent[] csArray = { courseStudent };
    String coursestudentArrayJson = objectMapper.writeValueAsString(csArray);
    String courseStudenJson = objectMapper.writeValueAsString(courseStudent);
    stubFor(get(urlMatching(String.format("/1/courses/courses/%d/students?filterArchived=.*", courseStudent.getCourseId()))).willReturn(aResponse().withHeader("Content-Type", "application/json").withBody(coursestudentArrayJson).withStatus(200)));
    stubFor(get(urlMatching("/1/courses/courses/1/students")).willReturn(aResponse().withHeader("Content-Type", "application/json").withBody(coursestudentArrayJson).withStatus(200)));
    stubFor(get(urlMatching(String.format("/1/courses/courses/%d/students/%d", courseStudent.getCourseId(), courseStudent.getId()))).willReturn(aResponse().withHeader("Content-Type", "application/json").withBody(courseStudenJson).withStatus(200)));
    OffsetDateTime assessmentCreated = OffsetDateTime.of(2015, 2, 2, 0, 0, 0, 0, ZoneOffset.UTC);
    CourseAssessment courseAssessment = new CourseAssessment(1l, courseStudent.getId(), 1l, 1l, 4l, assessmentCreated, "Test evaluation.", Boolean.TRUE);
    stubFor(post(urlMatching(String.format("/1/students/students/%d/courses/%d/assessments/", student.getId(), courseStudent.getCourseId()))).willReturn(aResponse().withHeader("Content-Type", "application/json").withBody(objectMapper.writeValueAsString(courseAssessment)).withStatus(200)));
    stubFor(get(urlMatching(String.format("/1/students/students/%d/courses/%d/assessments/", student.getId(), courseStudent.getCourseId()))).willReturn(aResponse().withHeader("Content-Type", "application/json").withBody(objectMapper.writeValueAsString(new ArrayList<>())).withStatus(200)));
    CourseStudent courseStudent2 = new CourseStudent(2l, 2l, 5l, OffsetDateTime.of(2010, 2, 2, 0, 0, 0, 0, ZoneOffset.UTC), false, null, null, null, null, null);
    CourseStudent[] csArray2 = { courseStudent2 };
    String coursestudentArrayJson2 = objectMapper.writeValueAsString(csArray2);
    String courseStudenJson2 = objectMapper.writeValueAsString(courseStudent2);
    stubFor(get(urlMatching(String.format("/1/courses/courses/%d/students?filterArchived=.*", courseStudent2.getCourseId()))).willReturn(aResponse().withHeader("Content-Type", "application/json").withBody(coursestudentArrayJson2).withStatus(200)));
    stubFor(get(urlMatching("/1/courses/courses/2/students")).willReturn(aResponse().withHeader("Content-Type", "application/json").withBody(coursestudentArrayJson2).withStatus(200)));
    stubFor(get(urlMatching(String.format("/1/courses/courses/%d/students/%d", courseStudent2.getCourseId(), courseStudent2.getId()))).willReturn(aResponse().withHeader("Content-Type", "application/json").withBody(courseStudenJson2).withStatus(200)));
    CourseAssessment courseAssessment2 = new CourseAssessment(1l, courseStudent.getId(), 1l, 1l, 4l, assessmentCreated, "", Boolean.TRUE);
    stubFor(get(urlMatching(String.format("/1/students/students/%d/courses/%d/assessments/", student2.getId(), courseStudent2.getCourseId()))).willReturn(aResponse().withHeader("Content-Type", "application/json").withBody(objectMapper.writeValueAsString(courseAssessment2)).withStatus(200)));
    CourseStaffMember courseStaffMember = new CourseStaffMember(1l, 1l, 4l, 7l);
    CourseStaffMember[] coursestaffMembers = { courseStaffMember };
    stubFor(get(urlEqualTo(String.format("/1/courses/courses/%d/staffMembers", 1l))).willReturn(aResponse().withHeader("Content-Type", "application/json").withBody(objectMapper.writeValueAsString(coursestaffMembers)).withStatus(200)));
    stubFor(get(urlEqualTo(String.format("/1/courses/courses/%d/staffMembers/%d", 1l, staffMember.getId()))).willReturn(aResponse().withHeader("Content-Type", "application/json").withBody(objectMapper.writeValueAsString(courseStaffMember)).withStatus(200)));
    mockPersonStudens(new Student[] { student, student2 });
    mockPersonStaffMembers(new StaffMember[] { staffMember1, staffMember2, staffMember3 });
    String payload = objectMapper.writeValueAsString(new WebhookStudentCreatePayload((long) 5));
    TestUtilities.webhookCall("http://dev.muikku.fi:" + System.getProperty("it.port.http") + "/pyramus/webhook", payload);
    payload = objectMapper.writeValueAsString(new WebhookPersonCreatePayload((long) 5));
    TestUtilities.webhookCall("http://dev.muikku.fi:" + System.getProperty("it.port.http") + "/pyramus/webhook", payload);
    payload = objectMapper.writeValueAsString(new WebhookStudentCreatePayload((long) 1));
    TestUtilities.webhookCall("http://dev.muikku.fi:" + System.getProperty("it.port.http") + "/pyramus/webhook", payload);
    payload = objectMapper.writeValueAsString(new WebhookPersonCreatePayload((long) 1));
    TestUtilities.webhookCall("http://dev.muikku.fi:" + System.getProperty("it.port.http") + "/pyramus/webhook", payload);
    payload = objectMapper.writeValueAsString(new WebhookStaffMemberCreatePayload((long) 4));
    TestUtilities.webhookCall("http://dev.muikku.fi:" + System.getProperty("it.port.http") + "/pyramus/webhook", payload);
    payload = objectMapper.writeValueAsString(new WebhookPersonCreatePayload((long) 4));
    TestUtilities.webhookCall("http://dev.muikku.fi:" + System.getProperty("it.port.http") + "/pyramus/webhook", payload);
    payload = objectMapper.writeValueAsString(new WebhookCourseStudentCreatePayload(courseStudent.getId(), courseStudent.getCourseId(), courseStudent.getStudentId()));
    TestUtilities.webhookCall("http://dev.muikku.fi:" + System.getProperty("it.port.http") + "/pyramus/webhook", payload);
    payload = objectMapper.writeValueAsString(new WebhookCourseStudentCreatePayload(courseStudent2.getId(), courseStudent2.getCourseId(), courseStudent2.getStudentId()));
    TestUtilities.webhookCall("http://dev.muikku.fi:" + System.getProperty("it.port.http") + "/pyramus/webhook", payload);
    payload = objectMapper.writeValueAsString(new WebhookCourseStaffMemberCreatePayload(1l, 1l, 4l));
    TestUtilities.webhookCall("http://dev.muikku.fi:" + System.getProperty("it.port.http") + "/pyramus/webhook", payload);
}
Also used : CourseStaffMemberRole(fi.otavanopisto.pyramus.rest.model.CourseStaffMemberRole) Email(fi.otavanopisto.pyramus.rest.model.Email) JSR310Module(com.fasterxml.jackson.datatype.jsr310.JSR310Module) CourseStaffMember(fi.otavanopisto.pyramus.rest.model.CourseStaffMember) StaffMember(fi.otavanopisto.pyramus.rest.model.StaffMember) WebhookStudentCreatePayload(fi.otavanopisto.pyramus.webhooks.WebhookStudentCreatePayload) WebhookCourseStudentCreatePayload(fi.otavanopisto.pyramus.webhooks.WebhookCourseStudentCreatePayload) MockCourseStudent(fi.otavanopisto.muikku.mock.model.MockCourseStudent) CourseStudent(fi.otavanopisto.pyramus.rest.model.CourseStudent) ObjectMapper(com.fasterxml.jackson.databind.ObjectMapper) WebhookPersonCreatePayload(fi.otavanopisto.pyramus.webhooks.WebhookPersonCreatePayload) Student(fi.otavanopisto.pyramus.rest.model.Student) MockCourseStudent(fi.otavanopisto.muikku.mock.model.MockCourseStudent) CourseStudent(fi.otavanopisto.pyramus.rest.model.CourseStudent) CourseAssessment(fi.otavanopisto.pyramus.rest.model.CourseAssessment) WebhookCourseStaffMemberCreatePayload(fi.otavanopisto.pyramus.webhooks.WebhookCourseStaffMemberCreatePayload) OffsetDateTime(java.time.OffsetDateTime) CourseStaffMember(fi.otavanopisto.pyramus.rest.model.CourseStaffMember) Person(fi.otavanopisto.pyramus.rest.model.Person) WebhookStaffMemberCreatePayload(fi.otavanopisto.pyramus.webhooks.WebhookStaffMemberCreatePayload)

Example 4 with CourseStaffMemberRole

use of fi.otavanopisto.pyramus.rest.model.CourseStaffMemberRole in project muikku by otavanopisto.

the class PyramusMocks method adminMock.

public static void adminMock() throws Exception {
    ObjectMapper objectMapper = new ObjectMapper().registerModule(new JSR310Module()).disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS);
    Map<String, String> variables = null;
    List<String> tags = null;
    OffsetDateTime birthday = OffsetDateTime.of(1990, 2, 2, 0, 0, 0, 0, ZoneOffset.UTC);
    Person staff3 = mockPerson((long) 4, birthday, "345345-3453", fi.otavanopisto.pyramus.rest.model.Sex.MALE, (long) 4);
    Person[] personArray = { staff3 };
    String personArrayJson = objectMapper.writeValueAsString(personArray);
    stubFor(get(urlMatching("/1/persons/persons?filterArchived=.*")).willReturn(aResponse().withHeader("Content-Type", "application/json").withBody(personArrayJson).withStatus(200)));
    stubFor(get(urlEqualTo("/1/persons/persons")).willReturn(aResponse().withHeader("Content-Type", "application/json").withBody(personArrayJson).withStatus(200)));
    StaffMember staffMember3 = new StaffMember((long) 4, (long) 4, null, "Test", "Administrator", null, fi.otavanopisto.pyramus.rest.model.UserRole.ADMINISTRATOR, tags, variables);
    String staffMemberJson = objectMapper.writeValueAsString(staffMember3);
    stubFor(get(urlEqualTo("/1/staff/members/4")).willReturn(aResponse().withHeader("Content-Type", "application/json").withBody(staffMemberJson).withStatus(200)));
    StaffMember[] staffMember3Array = { staffMember3 };
    String staffMemberArrayJson = objectMapper.writeValueAsString(staffMember3Array);
    stubFor(get(urlEqualTo("/1/staff/members?email=admin@example.com")).willReturn(aResponse().withHeader("Content-Type", "application/json").withBody(staffMemberArrayJson).withStatus(200)));
    StaffMember[] staffArray = { staffMember3 };
    String staffArrayJson = objectMapper.writeValueAsString(staffArray);
    stubFor(get(urlEqualTo("/1/staff/members")).willReturn(aResponse().withHeader("Content-Type", "application/json").withBody(staffArrayJson).withStatus(200)));
    staffMemberJson = objectMapper.writeValueAsString(staffMember3);
    stubFor(get(urlEqualTo("1/courses/courses/1/staffMembers/4")).willReturn(aResponse().withHeader("Content-Type", "application/json").withBody(staffMemberJson).withStatus(200)));
    Email staff3Email = new Email((long) 4, (long) 1, true, "admin@example.com");
    Email[] staff3Emails = { staff3Email };
    String staff3EmailJson = objectMapper.writeValueAsString(staff3Emails);
    stubFor(get(urlEqualTo("/1/staff/members/4/emails")).willReturn(aResponse().withHeader("Content-Type", "application/json").withBody(staff3EmailJson).withStatus(200)));
    CourseStaffMemberRole teacherRole = new CourseStaffMemberRole((long) 8, "Opettaja");
    // CourseStaffMemberRole tutorRole = new CourseStaffMemberRole((long) 2, "Tutor");
    // CourseStaffMemberRole vRole = new CourseStaffMemberRole((long) 3, "Vastuuhenkilö");
    // CourseStaffMemberRole studentRole = new CourseStaffMemberRole((long) 9, "Opiskelija");
    CourseStaffMemberRole[] cRoleArray = { teacherRole };
    String cRoleJson = objectMapper.writeValueAsString(cRoleArray);
    stubFor(get(urlEqualTo("/1/courses/staffMemberRoles")).willReturn(aResponse().withHeader("Content-Type", "application/json").withBody(cRoleJson).withStatus(200)));
    for (CourseStaffMemberRole role : cRoleArray) {
        stubFor(get(urlEqualTo(String.format("/1/courses/staffMemberRoles/%d", role.getId()))).willReturn(aResponse().withHeader("Content-Type", "application/json").withBody(objectMapper.writeValueAsString(role)).withStatus(200)));
    }
    mockContactTypes();
    String payload = objectMapper.writeValueAsString(new WebhookStaffMemberCreatePayload((long) 4));
    TestUtilities.webhookCall("http://dev.muikku.fi:" + System.getProperty("it.port.http") + "/pyramus/webhook", payload);
    payload = objectMapper.writeValueAsString(new WebhookPersonCreatePayload((long) 4));
    TestUtilities.webhookCall("http://dev.muikku.fi:" + System.getProperty("it.port.http") + "/pyramus/webhook", payload);
}
Also used : CourseStaffMemberRole(fi.otavanopisto.pyramus.rest.model.CourseStaffMemberRole) Email(fi.otavanopisto.pyramus.rest.model.Email) WebhookPersonCreatePayload(fi.otavanopisto.pyramus.webhooks.WebhookPersonCreatePayload) JSR310Module(com.fasterxml.jackson.datatype.jsr310.JSR310Module) CourseStaffMember(fi.otavanopisto.pyramus.rest.model.CourseStaffMember) StaffMember(fi.otavanopisto.pyramus.rest.model.StaffMember) OffsetDateTime(java.time.OffsetDateTime) Person(fi.otavanopisto.pyramus.rest.model.Person) ObjectMapper(com.fasterxml.jackson.databind.ObjectMapper) WebhookStaffMemberCreatePayload(fi.otavanopisto.pyramus.webhooks.WebhookStaffMemberCreatePayload)

Aggregations

CourseStaffMemberRole (fi.otavanopisto.pyramus.rest.model.CourseStaffMemberRole)4 ObjectMapper (com.fasterxml.jackson.databind.ObjectMapper)3 JSR310Module (com.fasterxml.jackson.datatype.jsr310.JSR310Module)3 CourseStaffMember (fi.otavanopisto.pyramus.rest.model.CourseStaffMember)2 Email (fi.otavanopisto.pyramus.rest.model.Email)2 Person (fi.otavanopisto.pyramus.rest.model.Person)2 StaffMember (fi.otavanopisto.pyramus.rest.model.StaffMember)2 WebhookPersonCreatePayload (fi.otavanopisto.pyramus.webhooks.WebhookPersonCreatePayload)2 WebhookStaffMemberCreatePayload (fi.otavanopisto.pyramus.webhooks.WebhookStaffMemberCreatePayload)2 OffsetDateTime (java.time.OffsetDateTime)2 MockCourseStudent (fi.otavanopisto.muikku.mock.model.MockCourseStudent)1 RoleSchoolDataIdentifier (fi.otavanopisto.muikku.model.users.RoleSchoolDataIdentifier)1 WorkspaceRoleEntity (fi.otavanopisto.muikku.model.workspace.WorkspaceRoleEntity)1 EnvironmentRole (fi.otavanopisto.muikku.schooldata.entity.EnvironmentRole)1 WorkspaceRole (fi.otavanopisto.muikku.schooldata.entity.WorkspaceRole)1 SchoolDataEnvironmentRoleDiscoveredEvent (fi.otavanopisto.muikku.schooldata.events.SchoolDataEnvironmentRoleDiscoveredEvent)1 SchoolDataEnvironmentRoleRemovedEvent (fi.otavanopisto.muikku.schooldata.events.SchoolDataEnvironmentRoleRemovedEvent)1 SchoolDataWorkspaceRoleDiscoveredEvent (fi.otavanopisto.muikku.schooldata.events.SchoolDataWorkspaceRoleDiscoveredEvent)1 SchoolDataWorkspaceRoleRemovedEvent (fi.otavanopisto.muikku.schooldata.events.SchoolDataWorkspaceRoleRemovedEvent)1 CourseAssessment (fi.otavanopisto.pyramus.rest.model.CourseAssessment)1