protected List<TargetMetadata> createTargetMetadata(final String controllerId, final List<MetaData> md) { return targetManagement.createMetaData(controllerId, md); }
protected List<TargetMetadata> createTargetMetadata(final String controllerId, final List<MetaData> md) { return targetManagement.createMetaData(controllerId, md); }
@Override public ResponseEntity<List<MgmtMetadata>> createMetadata(@PathVariable("targetId") final String targetId, @RequestBody final List<MgmtMetadata> metadataRest) { final List<TargetMetadata> created = targetManagement.createMetaData(targetId, MgmtTargetMapper.fromRequestTargetMetadata(metadataRest, entityFactory)); return new ResponseEntity<>(MgmtTargetMapper.toResponseTargetMetadata(created), HttpStatus.CREATED); }
@Override protected MetaData createMetadata(final Target entity, final String key, final String value) { final TargetMetadata metaData = targetManagement .createMetaData(entity.getControllerId(), Collections.singletonList(entityFactory.generateTargetMetadata(key, value))) .get(0); setSelectedEntity(metaData.getTarget()); return metaData; }
@Override protected MetaData createMetadata(final Target entity, final String key, final String value) { final TargetMetadata metaData = targetManagement .createMetaData(entity.getControllerId(), Collections.singletonList(entityFactory.generateTargetMetadata(key, value))) .get(0); setSelectedEntity(metaData.getTarget()); return metaData; }
@Test @Description("Update a single meta data value for specific key." + " Required Permission: " + SpPermission.UPDATE_REPOSITORY) public void updateMetadata() throws Exception { // prepare and create metadata for update final String knownKey = "knownKey"; final String knownValue = "knownValue"; final String updateValue = "valueForUpdate"; final Target testTarget = testdataFactory.createTarget(targetId); targetManagement.createMetaData(testTarget.getControllerId(), Arrays.asList(entityFactory.generateTargetMetadata(knownKey, knownValue))); final JSONObject jsonObject = new JSONObject().put("key", knownKey).put("value", updateValue); mockMvc.perform(put(MgmtRestConstants.TARGET_V1_REQUEST_MAPPING + "/{targetId}/metadata/{metadatakey}", testTarget.getControllerId(), knownKey) .contentType(MediaType.APPLICATION_JSON_UTF8).content(jsonObject.toString())) .andDo(MockMvcResultPrinter.print()).andExpect(status().isOk()) .andDo(this.document.document( pathParameters(parameterWithName("targetId").description(ApiModelPropertiesGeneric.ITEM_ID), parameterWithName("metadatakey").description(ApiModelPropertiesGeneric.ITEM_ID)), requestFields(requestFieldWithPath("key").description(MgmtApiModelProperties.META_DATA_KEY), requestFieldWithPath("value").description(MgmtApiModelProperties.META_DATA_VALUE)), responseFields(fieldWithPath("key").description(MgmtApiModelProperties.META_DATA_KEY), fieldWithPath("value").description(MgmtApiModelProperties.META_DATA_VALUE)))); }
@Test @Description("Delete a single meta data." + " Required Permission: " + SpPermission.UPDATE_REPOSITORY) public void deleteMetadata() throws Exception { // prepare and create metadata for deletion final String knownKey = "knownKey"; final String knownValue = "knownValue"; final Target testTarget = testdataFactory.createTarget(targetId); targetManagement.createMetaData(testTarget.getControllerId(), Arrays.asList(entityFactory.generateTargetMetadata(knownKey, knownValue))); mockMvc.perform(delete(MgmtRestConstants.TARGET_V1_REQUEST_MAPPING + "/{targetId}/metadata/{key}", testTarget.getControllerId(), knownKey)).andDo(MockMvcResultPrinter.print()).andExpect(status().isOk()) .andDo(this.document.document( pathParameters(parameterWithName("targetId").description(ApiModelPropertiesGeneric.ITEM_ID), parameterWithName("key").description(ApiModelPropertiesGeneric.ITEM_ID)))); }
@Test @Description("Get a single meta data value for a meta data key." + " Required Permission: " + SpPermission.READ_REPOSITORY) public void getMetadataValue() throws Exception { // prepare and create metadata final String knownKey = "knownKey"; final String knownValue = "knownValue"; final Target testTarget = testdataFactory.createTarget(targetId); targetManagement.createMetaData(testTarget.getControllerId(), Arrays.asList(entityFactory.generateTargetMetadata(knownKey, knownValue))); mockMvc.perform(get(MgmtRestConstants.TARGET_V1_REQUEST_MAPPING + "/{targetId}/metadata/{metadatakey}", testTarget.getControllerId(), knownKey)).andDo(MockMvcResultPrinter.print()).andExpect(status().isOk()) .andDo(this.document.document( pathParameters(parameterWithName("targetId").description(ApiModelPropertiesGeneric.ITEM_ID), parameterWithName("metadatakey").description(ApiModelPropertiesGeneric.ITEM_ID)), responseFields(fieldWithPath("key").description(MgmtApiModelProperties.META_DATA_KEY), fieldWithPath("value").description(MgmtApiModelProperties.META_DATA_VALUE)))); }
@Test @Description("Get a paged list of meta data for a target with standard page size." + " Required Permission: " + SpPermission.READ_REPOSITORY) public void getMetadata() throws Exception { final int totalMetadata = 4; final String knownKeyPrefix = "knownKey"; final String knownValuePrefix = "knownValue"; final Target testTarget = testdataFactory.createTarget(targetId); for (int index = 0; index < totalMetadata; index++) { targetManagement.createMetaData(testTarget.getControllerId(), Lists.newArrayList( entityFactory.generateTargetMetadata(knownKeyPrefix + index, knownValuePrefix + index))); } mockMvc.perform( get(MgmtRestConstants.TARGET_V1_REQUEST_MAPPING + "/{targetId}/metadata", testTarget.getControllerId())) .andDo(MockMvcResultPrinter.print()).andExpect(status().isOk()) .andExpect(content().contentType(MediaTypes.HAL_JSON_UTF8)) .andDo(this.document.document( pathParameters(parameterWithName("targetId").description(ApiModelPropertiesGeneric.ITEM_ID)), responseFields(fieldWithPath("total").description(ApiModelPropertiesGeneric.TOTAL_ELEMENTS), fieldWithPath("size").type(JsonFieldType.NUMBER) .description(ApiModelPropertiesGeneric.SIZE), fieldWithPath("content").description(MgmtApiModelProperties.META_DATA), fieldWithPath("content[].key").description(MgmtApiModelProperties.META_DATA_KEY), fieldWithPath("content[].value").description(MgmtApiModelProperties.META_DATA_VALUE)))); }
final Target testTarget = testdataFactory.createTarget(targetId); for (int index = 0; index < totalMetadata; index++) { targetManagement.createMetaData(testTarget.getControllerId(), Lists.newArrayList( entityFactory.generateTargetMetadata(knownKeyPrefix + index, knownValuePrefix + index)));