/******************************************************************************* | |
* Copyright (c) 2014, 2016 Orange. | |
* All rights reserved. This program and the accompanying materials | |
* are made available under the terms of the Eclipse Public License 2.0 | |
* which accompanies this distribution, and is available at | |
* https://www.eclipse.org/legal/epl-2.0/ | |
*******************************************************************************/ | |
package org.eclipse.om2m.testsuite.flexcontainer; | |
import org.eclipse.om2m.commons.constants.Constants; | |
import org.eclipse.om2m.commons.constants.ResponseStatusCode; | |
import org.eclipse.om2m.commons.resource.CustomAttribute; | |
import org.eclipse.om2m.commons.resource.ResponsePrimitive; | |
import org.eclipse.om2m.commons.resource.flexcontainerspec.EnergyConsumptionFlexContainer; | |
import org.eclipse.om2m.core.service.CseService; | |
import org.eclipse.om2m.testsuite.flexcontainer.TestReport.Status; | |
public class EnergyConsumptionFlexContainerTest extends FlexContainerTestSuite { | |
public EnergyConsumptionFlexContainerTest(final CseService pCseService) { | |
super(pCseService); | |
} | |
@Override | |
protected String getTestSuiteName() { | |
return "EnergyConsumptionFlexContainer"; | |
} | |
public void testCreateAndRetrieveEnergyConsumptionFlexContainer() { | |
String baseLocation = "/" + Constants.CSE_ID + "/" + Constants.CSE_NAME; | |
String flexContainerName = "EnergyConsumptionFlexContainer_" + System.currentTimeMillis(); | |
String flexContainerLocation = baseLocation + "/" + flexContainerName; | |
EnergyConsumptionFlexContainer flexContainer = new EnergyConsumptionFlexContainer(); | |
flexContainer.setName(flexContainerName); | |
flexContainer.setOntologyRef("Ontology"); | |
flexContainer.setCreator("greg"); | |
CustomAttribute powerCustomAttribute = new CustomAttribute(); | |
powerCustomAttribute.setShortName("power"); | |
powerCustomAttribute.setValue("342"); | |
flexContainer.getCustomAttributes().add(powerCustomAttribute); | |
CustomAttribute absoluteEnergyConsumptionDataCustomAttribute = new CustomAttribute(); | |
absoluteEnergyConsumptionDataCustomAttribute.setShortName("abECn"); | |
absoluteEnergyConsumptionDataCustomAttribute.setValue("3434"); | |
flexContainer.getCustomAttributes().add(absoluteEnergyConsumptionDataCustomAttribute); | |
CustomAttribute roundingEnergyConsumptionDataCustomAttribute = new CustomAttribute(); | |
roundingEnergyConsumptionDataCustomAttribute.setShortName("roECn"); | |
roundingEnergyConsumptionDataCustomAttribute.setValue("43242"); | |
flexContainer.getCustomAttributes().add(roundingEnergyConsumptionDataCustomAttribute); | |
CustomAttribute significantFigures = new CustomAttribute(); | |
significantFigures.setShortName("sigDs"); | |
significantFigures.setValue("3"); | |
flexContainer.getCustomAttributes().add(significantFigures); | |
CustomAttribute multiplyingFactors = new CustomAttribute(); | |
multiplyingFactors.setShortName("mulFs"); | |
multiplyingFactors.setValue("100"); | |
flexContainer.getCustomAttributes().add(multiplyingFactors); | |
CustomAttribute voltage = new CustomAttribute(); | |
voltage.setShortName("volte"); | |
voltage.setValue("3443"); | |
flexContainer.getCustomAttributes().add(voltage); | |
CustomAttribute current = new CustomAttribute(); | |
current.setShortName("currt"); | |
current.setValue("45353"); | |
flexContainer.getCustomAttributes().add(current); | |
CustomAttribute frequency = new CustomAttribute(); | |
frequency.setShortName("freqy"); | |
frequency.setValue("34"); | |
flexContainer.getCustomAttributes().add(frequency); | |
// send CREATE request | |
ResponsePrimitive response = sendCreateFlexContainerRequest(flexContainer, baseLocation, Constants.ADMIN_REQUESTING_ENTITY); | |
EnergyConsumptionFlexContainer createdFlexContainer = null; | |
if (!response.getResponseStatusCode().equals(ResponseStatusCode.CREATED)) { | |
// KO | |
createTestReport("testCreateAndRetrieveEnergyConsumption", Status.KO, | |
"unable to create EnergyConsumption FlexContainer: " + response.getContent(), null); | |
return; | |
} else { | |
createdFlexContainer = (EnergyConsumptionFlexContainer) response.getContent(); | |
if (!flexContainerName.equals(createdFlexContainer.getName())) { | |
createTestReport("testCreateAndRetrieveEnergyConsumption", Status.KO, | |
"wrong name. Expecting: " + flexContainerName + ", found:" + createdFlexContainer.getName(), | |
null); | |
return; | |
} | |
try { | |
checkFlexContainerCreator(flexContainer, createdFlexContainer); | |
} catch (Exception e) { | |
createTestReport("testCreateAndRetrieveEnergyConsumption", Status.KO, e.getMessage(), e); | |
return; | |
} | |
try { | |
checkFlexContainerCustomAttribute(flexContainer, createdFlexContainer); | |
} catch (Exception e) { | |
createTestReport("testCreateAndRetrieveEnergyConsumption", Status.KO, e.getMessage(), e); | |
return; | |
} | |
try { | |
checkFlexContainerDefinition(flexContainer, createdFlexContainer); | |
} catch (Exception e) { | |
createTestReport("testCreateAndRetrieveEnergyConsumption", Status.KO, e.getMessage(), e); | |
return; | |
} | |
try { | |
checkFlexContainerOntologyRef(flexContainer, createdFlexContainer); | |
} catch (Exception e) { | |
createTestReport("testCreateAndRetrieveEnergyConsumption", Status.KO, e.getMessage(), e); | |
return; | |
} | |
} | |
// retrieve FlexContainer | |
response = sendRetrieveRequest(flexContainerLocation); | |
if (!response.getResponseStatusCode().equals(ResponseStatusCode.OK)) { | |
// KO | |
createTestReport("testCreateAndRetrieveEnergyConsumption", Status.KO, | |
"unable to retrieve EnergyConsumption FlexContainer: " + response.getContent(), null); | |
return; | |
} else { | |
// OK | |
EnergyConsumptionFlexContainer retrievedFlexContainer = (EnergyConsumptionFlexContainer) response.getContent(); | |
try { | |
checkFlexContainer(createdFlexContainer, retrievedFlexContainer); | |
} catch (Exception e) { | |
createTestReport("testCreateAndRetrieveEnergyConsumption", Status.KO, e.getMessage(), e); | |
return; | |
} | |
} | |
createTestReport("testCreateAndRetrieveEnergyConsumptionFlexContainer", Status.OK, null, null); | |
} | |
public void testDeleteEnergyConsumptionFlexContainer() { | |
String baseLocation = "/" + Constants.CSE_ID + "/" + Constants.CSE_NAME; | |
String flexContainerName = "EnergyConsumptionFlexContainer_" + System.currentTimeMillis(); | |
String flexContainerLocation = baseLocation + "/" + flexContainerName; | |
EnergyConsumptionFlexContainer flexContainer = new EnergyConsumptionFlexContainer(); | |
flexContainer.setName(flexContainerName); | |
flexContainer.setOntologyRef("Ontology"); | |
flexContainer.setCreator("greg"); | |
CustomAttribute powerCustomAttribute = new CustomAttribute(); | |
powerCustomAttribute.setShortName("power"); | |
powerCustomAttribute.setValue("342"); | |
flexContainer.getCustomAttributes().add(powerCustomAttribute); | |
CustomAttribute absoluteEnergyConsumptionDataCustomAttribute = new CustomAttribute(); | |
absoluteEnergyConsumptionDataCustomAttribute.setShortName("abECn"); | |
absoluteEnergyConsumptionDataCustomAttribute.setValue("3434"); | |
flexContainer.getCustomAttributes().add(absoluteEnergyConsumptionDataCustomAttribute); | |
CustomAttribute roundingEnergyConsumptionDataCustomAttribute = new CustomAttribute(); | |
roundingEnergyConsumptionDataCustomAttribute.setShortName("roECn"); | |
roundingEnergyConsumptionDataCustomAttribute.setValue("43242"); | |
flexContainer.getCustomAttributes().add(roundingEnergyConsumptionDataCustomAttribute); | |
CustomAttribute significantFigures = new CustomAttribute(); | |
significantFigures.setShortName("sigDs"); | |
significantFigures.setValue("3"); | |
flexContainer.getCustomAttributes().add(significantFigures); | |
CustomAttribute multiplyingFactors = new CustomAttribute(); | |
multiplyingFactors.setShortName("mulFs"); | |
multiplyingFactors.setValue("100"); | |
flexContainer.getCustomAttributes().add(multiplyingFactors); | |
CustomAttribute voltage = new CustomAttribute(); | |
voltage.setShortName("volte"); | |
voltage.setValue("3443"); | |
flexContainer.getCustomAttributes().add(voltage); | |
CustomAttribute current = new CustomAttribute(); | |
current.setShortName("currt"); | |
current.setValue("45353"); | |
flexContainer.getCustomAttributes().add(current); | |
CustomAttribute frequency = new CustomAttribute(); | |
frequency.setShortName("freqy"); | |
frequency.setValue("34"); | |
flexContainer.getCustomAttributes().add(frequency); | |
// send CREATE request | |
ResponsePrimitive response = sendCreateFlexContainerRequest(flexContainer, baseLocation, Constants.ADMIN_REQUESTING_ENTITY); | |
if (!response.getResponseStatusCode().equals(ResponseStatusCode.CREATED)) { | |
// KO | |
createTestReport("testDeleteEnergyConsumptionFlexContainer", Status.KO, | |
"unable to create EnergyConsumption FlexContainer: " + response.getContent(), null); | |
return; | |
} | |
// send a DELETE request | |
response = sendDeleteRequest(flexContainerLocation); | |
if (!response.getResponseStatusCode().equals(ResponseStatusCode.DELETED)) { | |
// KO | |
createTestReport("testDeleteEnergyConsumptionFlexContainer", Status.KO, | |
"unable to delete EnergyConsumption FlexContainer: " + response.getContent(), null); | |
return; | |
} | |
// send a RETRIEVE request ==> NOT_FOUND | |
response = sendRetrieveRequest(flexContainerLocation); | |
if (!response.getResponseStatusCode().equals(ResponseStatusCode.NOT_FOUND)) { | |
// KO | |
createTestReport("testDeleteEnergyConsumptionFlexContainer", Status.KO, | |
"expecting: " + ResponseStatusCode.NOT_FOUND + ", found:" + response.getResponseStatusCode(), null); | |
return; | |
} | |
createTestReport("testDeleteEnergyConsumptionFlexContainer", Status.OK, null, null); | |
} | |
public void testUpdateEnergyConsumptionFlexContainer() { | |
String baseLocation = "/" + Constants.CSE_ID + "/" + Constants.CSE_NAME; | |
String flexContainerName = "EnergyConsumptionFlexContainer_" + System.currentTimeMillis(); | |
String flexContainerLocation = baseLocation + "/" + flexContainerName; | |
EnergyConsumptionFlexContainer flexContainer = new EnergyConsumptionFlexContainer(); | |
flexContainer.setName(flexContainerName); | |
flexContainer.setOntologyRef("Ontology"); | |
flexContainer.setCreator("greg"); | |
CustomAttribute powerCustomAttribute = new CustomAttribute(); | |
powerCustomAttribute.setShortName("power"); | |
powerCustomAttribute.setValue("342"); | |
flexContainer.getCustomAttributes().add(powerCustomAttribute); | |
CustomAttribute absoluteEnergyConsumptionDataCustomAttribute = new CustomAttribute(); | |
absoluteEnergyConsumptionDataCustomAttribute.setShortName("abECn"); | |
absoluteEnergyConsumptionDataCustomAttribute.setValue("3434"); | |
flexContainer.getCustomAttributes().add(absoluteEnergyConsumptionDataCustomAttribute); | |
CustomAttribute roundingEnergyConsumptionDataCustomAttribute = new CustomAttribute(); | |
roundingEnergyConsumptionDataCustomAttribute.setShortName("roECn"); | |
roundingEnergyConsumptionDataCustomAttribute.setValue("43242"); | |
flexContainer.getCustomAttributes().add(roundingEnergyConsumptionDataCustomAttribute); | |
CustomAttribute significantFigures = new CustomAttribute(); | |
significantFigures.setShortName("sigDs"); | |
significantFigures.setValue("3"); | |
flexContainer.getCustomAttributes().add(significantFigures); | |
CustomAttribute multiplyingFactors = new CustomAttribute(); | |
multiplyingFactors.setShortName("mulFs"); | |
multiplyingFactors.setValue("100"); | |
flexContainer.getCustomAttributes().add(multiplyingFactors); | |
CustomAttribute voltage = new CustomAttribute(); | |
voltage.setShortName("volte"); | |
voltage.setValue("3443"); | |
flexContainer.getCustomAttributes().add(voltage); | |
CustomAttribute current = new CustomAttribute(); | |
current.setShortName("currt"); | |
current.setValue("45353"); | |
flexContainer.getCustomAttributes().add(current); | |
CustomAttribute frequency = new CustomAttribute(); | |
frequency.setShortName("freqy"); | |
frequency.setValue("34"); | |
flexContainer.getCustomAttributes().add(frequency); | |
// send CREATE request | |
ResponsePrimitive response = sendCreateFlexContainerRequest(flexContainer, baseLocation, Constants.ADMIN_REQUESTING_ENTITY); | |
EnergyConsumptionFlexContainer createdFlexContainer = null; | |
if (!response.getResponseStatusCode().equals(ResponseStatusCode.CREATED)) { | |
// KO | |
createTestReport("testUpdateEnergyConsumptionFlexContainer", Status.KO, | |
"unable to create EnergyConsumption FlexContainer: " + response.getContent(), null); | |
return; | |
} else { | |
createdFlexContainer = (EnergyConsumptionFlexContainer) response.getContent(); | |
} | |
// prepare Update request | |
EnergyConsumptionFlexContainer toBeUpdated = new EnergyConsumptionFlexContainer(); | |
CustomAttribute updatedVoltage = new CustomAttribute(); | |
updatedVoltage.setShortName("volte"); | |
updatedVoltage.setValue("0"); | |
toBeUpdated.getCustomAttributes().add(updatedVoltage); | |
// send UPDATE request | |
response = sendUpdateFlexContainerRequest(flexContainerLocation, toBeUpdated); | |
if (!response.getResponseStatusCode().equals(ResponseStatusCode.UPDATED)) { | |
// KO | |
createTestReport("testUpdateEnergyConsumptionFlexContainer", Status.KO, | |
"unable to update EnergyConsumption FlexContainer: " + response.getContent(), null); | |
return; | |
} else { | |
EnergyConsumptionFlexContainer updatedFlexContainer = (EnergyConsumptionFlexContainer) response.getContent(); | |
if (updatedFlexContainer.getCustomAttributes().size() != 1) { | |
createTestReport("testUpdateEnergyConsumptionFlexContainer", Status.KO, | |
"expecting 1 customAttribute, found " + updatedFlexContainer.getCustomAttributes().size() | |
+ " customAttributes", | |
null); | |
return; | |
} | |
if (!updatedFlexContainer.getCustomAttribute("volte").getValue() | |
.equals(updatedVoltage.getValue())) { | |
createTestReport("testUpdateEnergyConsumptionFlexContainer", Status.KO, | |
"wrong voltage customAttribute value. Expecting: " + updatedVoltage.getValue() | |
+ " , found: " | |
+ updatedFlexContainer.getCustomAttribute("volte").getValue(), | |
null); | |
return; | |
} | |
} | |
// retrieve the updated Flex container | |
response = sendRetrieveRequest(flexContainerLocation); | |
if (!response.getResponseStatusCode().equals(ResponseStatusCode.OK)) { | |
// KO | |
createTestReport("testUpdateEnergyConsumptionFlexContainer", Status.KO, | |
"unable to retrieve EnergyConsumption FlexContainer: " + response.getContent(), null); | |
return; | |
} else { | |
EnergyConsumptionFlexContainer retrievedFlexContainer = (EnergyConsumptionFlexContainer) response.getContent(); | |
// prepare initial flexContainer | |
createdFlexContainer.setName(flexContainerName); | |
createdFlexContainer.getCustomAttribute("volte").setValue("0"); | |
try { | |
checkFlexContainer(createdFlexContainer, retrievedFlexContainer); | |
} catch (Exception e) { | |
createTestReport("testUpdateEnergyConsumptionFlexContainer", Status.KO, | |
e.getMessage(), e); | |
return; | |
} | |
} | |
createTestReport("testUpdateEnergyConsumptionFlexContainer", Status.OK, null, null); | |
} | |
} |