/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package com.intel.mtwilson.as.rest.v2.resource;
import com.intel.dcsg.cpg.io.UUID;
import com.intel.mtwilson.as.rest.v2.model.Mle;
import com.intel.mtwilson.as.rest.v2.model.MleCollection;
import com.intel.mtwilson.as.rest.v2.model.MleFilterCriteria;
import com.intel.mtwilson.as.rest.v2.model.MleModule;
import com.intel.mtwilson.as.rest.v2.model.MleModuleCollection;
import com.intel.mtwilson.as.rest.v2.model.MleModuleFilterCriteria;
import com.intel.mtwilson.as.rest.v2.model.MleModuleLocator;
import com.intel.mtwilson.as.rest.v2.model.MlePcr;
import com.intel.mtwilson.as.rest.v2.model.MlePcrCollection;
import com.intel.mtwilson.as.rest.v2.model.MlePcrFilterCriteria;
import com.intel.mtwilson.as.rest.v2.model.MlePcrLocator;
import com.intel.mtwilson.as.rest.v2.model.MleSource;
import com.intel.mtwilson.as.rest.v2.repository.MleModuleRepository;
import com.intel.mtwilson.as.rest.v2.repository.MlePcrRepository;
import com.intel.mtwilson.as.rest.v2.repository.MleRepository;
import com.intel.mtwilson.as.rest.v2.repository.MleSourceRepository;
import com.intel.mtwilson.datatypes.ManifestData;
import java.util.ArrayList;
import java.util.List;
import org.junit.Test;
/**
*
* @author ssbangal
*/
public class MlesTest {
private static final org.slf4j.Logger log = org.slf4j.LoggerFactory.getLogger(MlesTest.class);
@Test
public void testSearchMles() throws Exception{
MleRepository mleRepo = new MleRepository();
MleFilterCriteria criteria = new MleFilterCriteria();
criteria.nameEqualTo = "Intel_Corporation";
MleCollection search = mleRepo.search(criteria);
}
@Test
public void testCreateMle() throws Exception {
MleRepository mleRepo = new MleRepository();
Mle mleObj = new Mle();
mleObj.setId(new UUID());
mleObj.setName("biosmle");
mleObj.setVersion("123");
mleObj.setOemUuid("8eb4ccce-9461-11e3-8204-005056b5286f");
mleObj.setDescription("Testing");
mleObj.setAttestationType(Mle.AttestationType.PCR);
mleObj.setMleType(Mle.MleType.BIOS);
List mleWhiteList = new ArrayList();
mleWhiteList.add(new ManifestData("0", "ADC83B19E793491B1C6EA0FD8B46CD9F32E592FC"));
mleObj.setMleManifests(mleWhiteList);
mleRepo.create(mleObj);
}
@Test
public void testUpdateMle() throws Exception {
MleRepository mleRepo = new MleRepository();
Mle mleObj = new Mle();
mleObj.setId(UUID.valueOf("e012854f-b29f-4a9d-8206-c67d474b79e3"));
List mleWhiteList = new ArrayList();
mleWhiteList.add(new ManifestData("18", "AAAAAB19E793491B1C6EA0FD8B46CD9F32E592FC"));
mleWhiteList.add(new ManifestData("19", "AAAAAB19E793491B1C6EA0FD8B46CD9F32E592FC"));
mleObj.setMleManifests(mleWhiteList);
mleRepo.store(mleObj);
}
@Test
public void testCreateMlePcr() throws Exception {
MlePcrRepository repo = new MlePcrRepository();
MlePcr obj = new MlePcr();
obj.setId(new UUID());
obj.setPcrIndex("20");
obj.setPcrValue("CCCCCB19E793491B1C6EA0FD8B46CD9F32E592FC");
obj.setMleUuid("e012854f-b29f-4a9d-8206-c67d474b79e3");
repo.create(obj);
}
@Test
public void testUpdateMlePcr() throws Exception {
MlePcrRepository repo = new MlePcrRepository();
MlePcr obj = new MlePcr();
obj.setId(UUID.valueOf("e8b4e1e2-8b21-44ab-86a3-50c474e07f9d"));
obj.setPcrIndex("19");
obj.setPcrValue("CCCCCB19E793491B1C6EA0FD8B46CD9F32E592FC");
repo.store(obj);
}
@Test
public void testDeleteMlePcr() throws Exception {
MlePcrRepository repo = new MlePcrRepository();
MlePcrLocator locator = new MlePcrLocator();
locator.mleUuid = UUID.valueOf("e012854f-b29f-4a9d-8206-c67d474b79e3");
locator.pcrIndex = "20";
repo.delete(locator);
}
@Test
public void testSearchMlePcrs() throws Exception{
MlePcrRepository repo = new MlePcrRepository();
MlePcrFilterCriteria criteria = new MlePcrFilterCriteria();
criteria.mleUuid = UUID.valueOf("8f854714-9461-11e3-8204-005056b5286f"); // This has to be specified always as it is in the pathparam
// criteria.indexEqualTo = "18";
criteria.valueEqualTo = "496C8530D2B4BA6A6F3901455C8C240BBB482D85";
MlePcrCollection search = repo.search(criteria);
if (search != null && !search.getMlePcrs().isEmpty()) {
for (MlePcr obj : search.getMlePcrs())
log.debug(obj.getPcrIndex() + "--" + obj.getPcrValue());
}
}
@Test
public void testRetrieveMlePcr() throws Exception{
MlePcrRepository repo = new MlePcrRepository();
MlePcrLocator locator = new MlePcrLocator();
locator.mleUuid = UUID.valueOf("66e999af-e9eb-43cc-9cbf-dcb73af1963b");
locator.pcrIndex = "21";
MlePcr obj = repo.retrieve(locator);
log.debug(obj.getPcrIndex() + "--" + obj.getPcrValue());
}
@Test
public void testCreateMleModule() throws Exception {
MleModuleRepository repo = new MleModuleRepository();
MleModule obj = new MleModule();
obj.setId(new UUID());
obj.setModuleName("20_sakljfaslf");
obj.setModuleValue("CCCCCB19E793491B1C6EA0FD8B46CD9F32E592FC");
obj.setMleUuid("8f854714-9461-11e3-8204-005056b5286f");
obj.setEventName("Vim25Api.HostTpmSoftwareComponentEventDetails");
obj.setExtendedToPCR("19");
obj.setPackageName("net-bnx2");
obj.setPackageVendor("VMware");
obj.setPackageVersion("2.0.15g.v50.11-7vmw.510.0.0.799733");
obj.setUseHostSpecificDigest(Boolean.FALSE);
obj.setDescription("Testing");
repo.create(obj);
}
@Test
public void testDeleteMleModule() throws Exception {
MleModuleRepository repo = new MleModuleRepository();
MleModuleLocator locator = new MleModuleLocator();
locator.id = UUID.valueOf("69f9303a-e7e1-4233-87af-2ed8e78bb7ff");
repo.delete(locator);
}
@Test
public void testSearchMleModule() throws Exception{
MleModuleRepository repo = new MleModuleRepository();
MleModuleFilterCriteria criteria = new MleModuleFilterCriteria();
criteria.mleUuid = UUID.valueOf("8f854714-9461-11e3-8204-005056b5286f"); // This has to be specified always as it is in the pathparam
// criteria.nameContains = "sata";
criteria.valueEqualTo = "AC2D3417E3FDCBDF51D7FA16DB025D458B2470B0";
MleModuleCollection search = repo.search(criteria);
if (search != null && !search.getMleModules().isEmpty()) {
for (MleModule obj : search.getMleModules())
log.debug(obj.getModuleName()+ "--" + obj.getModuleValue());
}
}
@Test
public void testUpdateMleSource() throws Exception {
MleSourceRepository repo = new MleSourceRepository();
MleSource obj = new MleSource();
obj.setName("Server 02");
obj.setMleUuid("70bae24c-ac53-4b44-adbc-e4c0c98f554e");
repo.store(obj);
}
}