use of com.epam.ta.reportportal.ws.model.EntryCreatedRS in project service-api by reportportal.
the class CreateIntegrationHandlerImpl method createGlobalIntegration.
@Override
public EntryCreatedRS createGlobalIntegration(IntegrationRQ createRequest, String pluginName, ReportPortalUser user) {
IntegrationType integrationType = integrationTypeRepository.findByName(pluginName).orElseThrow(() -> new ReportPortalException(ErrorType.INTEGRATION_NOT_FOUND, pluginName));
IntegrationService integrationService = integrationServiceMapping.getOrDefault(integrationType.getName(), this.basicIntegrationService);
String integrationName = ofNullable(createRequest.getName()).map(String::toLowerCase).map(name -> {
validateGlobalIntegrationName(name, integrationType);
return name;
}).orElseThrow(() -> new ReportPortalException(ErrorType.INCORRECT_INTEGRATION_NAME, "Integration name should be not null"));
createRequest.setName(integrationName);
Integration integration = integrationService.createIntegration(createRequest, integrationType);
integration.setCreator(user.getUsername());
integrationService.checkConnection(integration);
integrationRepository.save(integration);
return new EntryCreatedRS(integration.getId());
}
use of com.epam.ta.reportportal.ws.model.EntryCreatedRS in project service-api by reportportal.
the class CreateIntegrationHandlerImpl method createProjectIntegration.
@Override
public EntryCreatedRS createProjectIntegration(String projectName, IntegrationRQ createRequest, String pluginName, ReportPortalUser user) {
Project project = projectRepository.findByName(projectName).orElseThrow(() -> new ReportPortalException(ErrorType.PROJECT_NOT_FOUND, projectName));
IntegrationType integrationType = integrationTypeRepository.findByName(pluginName).orElseThrow(() -> new ReportPortalException(ErrorType.INTEGRATION_NOT_FOUND, pluginName));
IntegrationService integrationService = integrationServiceMapping.getOrDefault(integrationType.getName(), this.basicIntegrationService);
String integrationName = ofNullable(createRequest.getName()).map(String::toLowerCase).map(name -> {
validateProjectIntegrationName(name, integrationType, project);
return name;
}).orElseThrow(() -> new ReportPortalException(ErrorType.INCORRECT_INTEGRATION_NAME, "Integration name should be not null"));
createRequest.setName(integrationName);
Integration integration = integrationService.createIntegration(createRequest, integrationType);
integration.setProject(project);
integration.setCreator(user.getUsername());
integrationService.checkConnection(integration);
integrationRepository.save(integration);
messageBus.publishActivity(new IntegrationCreatedEvent(TO_ACTIVITY_RESOURCE.apply(integration), user.getUserId(), user.getUsername()));
return new EntryCreatedRS(integration.getId());
}
use of com.epam.ta.reportportal.ws.model.EntryCreatedRS in project service-api by reportportal.
the class CreatePluginHandlerImpl method uploadPlugin.
@Override
public EntryCreatedRS uploadPlugin(MultipartFile pluginFile) {
String newPluginFileName = pluginFile.getOriginalFilename();
BusinessRule.expect(newPluginFileName, StringUtils::isNotBlank).verify(ErrorType.BAD_REQUEST_ERROR, "File name should be not empty.");
try (InputStream inputStream = pluginFile.getInputStream()) {
IntegrationType integrationType = pluginBox.uploadPlugin(newPluginFileName, inputStream);
return new EntryCreatedRS(integrationType.getId());
} catch (IOException e) {
throw new ReportPortalException(ErrorType.PLUGIN_UPLOAD_ERROR, "Error during file stream retrieving");
}
}
use of com.epam.ta.reportportal.ws.model.EntryCreatedRS in project service-api by reportportal.
the class WidgetControllerTest method createWidgetPositive.
@Test
void createWidgetPositive() throws Exception {
WidgetRQ rq = new WidgetRQ();
rq.setName("widget");
rq.setDescription("description");
rq.setWidgetType("oldLineChart");
ContentParameters contentParameters = new ContentParameters();
contentParameters.setContentFields(Collections.singletonList("statistics$executions$passed"));
contentParameters.setItemsCount(50);
rq.setFilterIds(Collections.singletonList(3L));
rq.setContentParameters(contentParameters);
rq.setShare(true);
final MvcResult mvcResult = mockMvc.perform(post(DEFAULT_PROJECT_BASE_URL + "/widget").with(token(oAuthHelper.getDefaultToken())).content(objectMapper.writeValueAsBytes(rq)).contentType(APPLICATION_JSON)).andExpect(status().isCreated()).andReturn();
final EntryCreatedRS entryCreatedRS = objectMapper.readValue(mvcResult.getResponse().getContentAsString(), EntryCreatedRS.class);
final Optional<Widget> optionalWidget = widgetRepository.findById(entryCreatedRS.getId());
assertTrue(optionalWidget.isPresent());
assertEquals("widget", optionalWidget.get().getName());
assertEquals("description", optionalWidget.get().getDescription());
}
use of com.epam.ta.reportportal.ws.model.EntryCreatedRS in project service-api by reportportal.
the class DashboardControllerTest method createDashboardPositive.
@Test
void createDashboardPositive() throws Exception {
CreateDashboardRQ createDashboardRQ = new CreateDashboardRQ();
createDashboardRQ.setName("dashboard");
createDashboardRQ.setDescription("description");
final MvcResult mvcResult = mockMvc.perform(post(DEFAULT_PROJECT_BASE_URL + "/dashboard").with(token(oAuthHelper.getDefaultToken())).content(objectMapper.writeValueAsBytes(createDashboardRQ)).contentType(APPLICATION_JSON)).andExpect(status().isCreated()).andReturn();
final EntryCreatedRS entryCreatedRS = objectMapper.readValue(mvcResult.getResponse().getContentAsString(), EntryCreatedRS.class);
final Optional<Dashboard> dashboardOptional = dashboardRepository.findById(entryCreatedRS.getId());
assertTrue(dashboardOptional.isPresent());
assertEquals("dashboard", dashboardOptional.get().getName());
assertEquals("description", dashboardOptional.get().getDescription());
}
Aggregations