/*
(c) Copyright 2011 Telefonica, I+D. Printed in Spain (Europe). All Rights
Reserved.
The copyright to the software program(s) is property of Telefonica I+D.
The program(s) may be used and or copied only with the express written
consent of Telefonica I+D or in accordance with the terms and conditions
stipulated in the agreement/contract under which the program(s) have
been supplied.
*/
package com.telefonica.claudia.smi.template;
import static org.junit.Assert.assertThat;
import org.hamcrest.Matchers;
import org.junit.Before;
import org.junit.Test;
import com.telefonica.claudia.ClothoTest;
/**
* Unit tests for OneTemplateUtils
*
* @author luismarcos.ayllon
*
*/
public class TestTemplateUtilsCorrect {
protected final static String VALID_IOP_FILE="valid_iop.xml";
protected final static String FAKED_FQN="fakedOrg.customers.fakedVDC.services.FakedVapp.vees.FakedVee";
protected final static String EXPECTED_NAME = "NAME=fakedOrg.customers.fakedVDC.services.FakedVapp.vees.FakedVee.replicas.1";
protected final static String EXPECTED_MIGRABILITY = "MIGRABILITY=NONE";
protected final static String EXPECTED_OS = "OS=[boot=hd,";
protected final static String EXPECTED_ROOT = "root=hda1]";
protected final static String EXPECTED_CONTEXT = "CONTEXT=[CustomizationUrl=\"http://84.21.173.28:18888/fakedOrg.customers.fakedVDC.services.FakedVapp.vees.FakedVee.replicas.1\",";
protected final static String EXPECTED_FILES = "files=\"/env/path//fakedOrg.customers.fakedVDC.services.FakedVapp.vees.FakedVee.replicas.1/ovf-env.xml\",";
protected final static String EXPECTED_TARGET = "target=\"hdc\"]";
protected final static String EXPECTED_CPU = "CPU=1.0";
protected final static String EXPECTED_VCPU = "VCPU=1.0";
protected final static String EXPECTED_MEMORY = "MEMORY=1.0";
protected final static String EXPECTED_DISK = "DISK=[source=http://84.21.173.55:81/disk.img,target=hda,size=50,digest=null]";
protected final static String EXPECTED_NIC = "NIC=[network=fakedOrg.customers.fakedVDC.services.FakedVapp.networks.sge_net,ip=null]";
protected final static String EXPECTED_RAW = "RAW = [ type =\"kvm\", data =\"<devices><serial type='pty'><source path='/dev/pts/5'/><target port='0'/></serial><console type='pty' tty='/dev/pts/5'><source path='/dev/pts/5'/><target port='0'/></console></devices>\" ]";
private String iopContent;
@Before
public void setup() throws Exception {
iopContent = ClothoTest.readFile(getClass().getClassLoader().getResourceAsStream(VALID_IOP_FILE));
}
@Test
public void shouldTranslateVMInfoIntoTemplate() throws Exception {
String res = OneTemplateUtils.TCloud2ONEVM(iopContent, FAKED_FQN);
assertThat(res, Matchers.containsString(EXPECTED_NAME));
assertThat(res, Matchers.containsString(EXPECTED_MIGRABILITY));
assertThat(res, Matchers.containsString(EXPECTED_OS));
assertThat(res, Matchers.containsString(EXPECTED_ROOT));
assertThat(res, Matchers.containsString(EXPECTED_CONTEXT));
assertThat(res, Matchers.containsString(EXPECTED_FILES));
assertThat(res, Matchers.containsString(EXPECTED_TARGET));
assertThat(res, Matchers.containsString(EXPECTED_CPU));
assertThat(res, Matchers.containsString(EXPECTED_VCPU));
assertThat(res, Matchers.containsString(EXPECTED_MEMORY));
assertThat(res, Matchers.containsString(EXPECTED_DISK));
assertThat(res, Matchers.containsString(EXPECTED_NIC));
assertThat(res, Matchers.containsString(EXPECTED_RAW));
}
}