package org.ovirt.engine.core.dal.dbbroker.auditloghandling;
import static org.hamcrest.Matchers.is;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertThat;
import static org.mockito.Mockito.when;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.InjectMocks;
import org.mockito.Mock;
import org.mockito.junit.MockitoJUnitRunner;
import org.ovirt.engine.core.common.AuditLogType;
import org.ovirt.engine.core.common.businessentities.Cluster;
import org.ovirt.engine.core.common.businessentities.StorageDomain;
import org.ovirt.engine.core.common.businessentities.StorageDomainStatus;
import org.ovirt.engine.core.common.businessentities.StoragePool;
import org.ovirt.engine.core.common.businessentities.VDS;
import org.ovirt.engine.core.common.businessentities.VM;
import org.ovirt.engine.core.common.businessentities.VmTemplate;
import org.ovirt.engine.core.common.businessentities.aaa.DbUser;
import org.ovirt.engine.core.compat.Guid;
import org.ovirt.engine.core.dao.ClusterDao;
import org.ovirt.engine.core.dao.StorageDomainDao;
import org.ovirt.engine.core.dao.StoragePoolDao;
import org.ovirt.engine.core.dao.VdsDao;
import org.ovirt.engine.core.dao.VmDao;
import org.ovirt.engine.core.dao.VmTemplateDao;
@RunWith(MockitoJUnitRunner.class)
public class AuditLogableBaseTest {
protected static final Guid GUID = new Guid("11111111-1111-1111-1111-111111111111");
protected static final Guid GUID2 = new Guid("11111111-1111-1111-1111-111111111112");
protected static final Guid GUID3 = new Guid("11111111-1111-1111-1111-111111111113");
protected static final String NAME = "testName";
protected static final String DOMAIN = "testDomain";
private static final StorageDomain STORAGE_DOMAIN = new StorageDomain();
@Mock
StorageDomainDao storageDomainDao;
@Mock
StoragePoolDao storagePoolDao;
@Mock
VmDao vmDao;
@Mock
VmTemplateDao vmTemplateDao;
@Mock
ClusterDao clusterDao;
@Mock
VdsDao vdsDao;
@InjectMocks
private AuditLogableBase b = new AuditLogableBase();
@Before
public void setUp() {
when(vmDao.get(GUID)).thenReturn(new VM());
when(vmDao.get(GUID3)).thenThrow(new RuntimeException());
final VDS vds1 = new VDS();
vds1.setId(GUID);
final VDS vds2 = new VDS();
vds2.setId(GUID2);
when(vdsDao.get(GUID)).thenReturn(vds1);
when(vdsDao.get(GUID2)).thenReturn(vds2);
when(vdsDao.get(GUID3)).thenThrow(new RuntimeException());
final StoragePool p = new StoragePool();
p.setId(GUID);
when(storagePoolDao.get(GUID)).thenReturn(p);
final StorageDomain domain = new StorageDomain();
domain.setStatus(StorageDomainStatus.Active);
final StorageDomain sd1 = new StorageDomain();
sd1.setStatus(StorageDomainStatus.Inactive);
final StorageDomain sd2 = new StorageDomain();
sd2.setStatus(null);
final List<StorageDomain> storageDomainList = Arrays.asList(sd1, sd2, domain);
when(storageDomainDao.getForStoragePool(GUID, GUID)).thenReturn(domain);
when(storageDomainDao.getAllForStorageDomain(GUID2)).thenReturn(storageDomainList);
final VmTemplate t = new VmTemplate();
t.setId(GUID);
t.setName(NAME);
when(vmTemplateDao.get(Guid.Empty)).thenReturn(t);
when(vmTemplateDao.get(GUID)).thenReturn(new VmTemplate());
final Cluster g = new Cluster();
g.setClusterId(GUID);
when(clusterDao.get(GUID)).thenReturn(g);
}
@Test
public void nGuidCtor() {
b = new AuditLogableBase(GUID);
final Guid v = b.getVdsId();
assertEquals(GUID, v);
}
@Test
public void nGuidCtorNull() {
final Guid n = null;
b = new AuditLogableBase(n);
final Guid g = b.getVdsId();
assertEquals(Guid.Empty, g);
}
@Test
public void nGuidGuidCtor() {
b = new AuditLogableBase(GUID, GUID2);
final Guid g = b.getVdsId();
assertEquals(GUID, g);
final Guid gu = b.getVmId();
assertEquals(GUID2, gu);
}
@Test
public void nGuidGuidCtorNullNGuid() {
b = new AuditLogableBase(null, GUID2);
final Guid g = b.getVdsId();
assertEquals(Guid.Empty, g);
final Guid gu = b.getVmId();
assertEquals(GUID2, gu);
}
@Test
public void nGuidGuidCtorNullGuid() {
b = new AuditLogableBase(GUID, null);
final Guid g = b.getVdsId();
assertEquals(GUID, g);
final Guid gu = b.getVmId();
assertEquals(Guid.Empty, gu);
}
@Test
public void nGuidGuidCtorNull() {
b = new AuditLogableBase(null, null);
final Guid g = b.getVdsId();
assertEquals(Guid.Empty, g);
final Guid gu = b.getVmId();
assertEquals(Guid.Empty, gu);
}
@Test
public void getUserIdDefault() {
final Guid g = b.getUserId();
assertEquals(Guid.Empty, g);
}
@Test
public void getUserIdIdSet() {
b.setUserId(GUID);
final Guid g = b.getUserId();
assertEquals(GUID, g);
}
@Test
public void getUserIdVdcUserDefault() {
final DbUser u = new DbUser();
b.setCurrentUser(u);
final Guid g = b.getUserId();
assertNull(g);
}
@Test
public void getUserIdVdcUserId() {
final DbUser u = new DbUser();
u.setId(GUID);
b.setCurrentUser(u);
final Guid g = b.getUserId();
assertEquals(GUID, g);
}
@Test
public void getUserNameDefault() {
final String n = b.getUserName();
assertNull(n);
}
@Test
public void getUserNameNull() {
b.setUserName(null);
final String n = b.getUserName();
assertNull(n);
}
@Test
public void getUserName() {
b.setUserName(NAME);
final String n = b.getUserName();
assertEquals(NAME, n);
}
@Test
public void getUserNameFromUser() {
final DbUser u = new DbUser();
u.setLoginName(NAME);
u.setDomain(DOMAIN);
b.setCurrentUser(u);
final String un = b.getUserName();
assertEquals(String.format("%s@%s", NAME, DOMAIN), un);
}
@Test
public void currentUserDefault() {
final DbUser u = b.getCurrentUser();
assertNull(u);
}
@Test
public void currentUserNull() {
final DbUser u = null;
b.setCurrentUser(u);
final DbUser cu = b.getCurrentUser();
assertEquals(u, cu);
}
@Test
public void currentUser() {
final DbUser u = new DbUser();
b.setCurrentUser(u);
final DbUser cu = b.getCurrentUser();
assertEquals(u, cu);
}
@Test
public void vmTemplateIdDefault() {
final Guid g = b.getVmTemplateId();
assertEquals(Guid.Empty, g);
}
@Test
public void vmTemplateId() {
b.setVmTemplateId(GUID);
final Guid g = b.getVmTemplateId();
assertEquals(GUID, g);
}
@Test
public void vmTemplateIdRefDefault() {
final Guid g = b.getVmTemplateIdRef();
assertNull(g);
}
@Test
public void vmTemplateIdRef() {
b.setVmTemplateId(GUID);
final Guid g = b.getVmTemplateIdRef();
assertEquals(GUID, g);
}
@Test
public void vmTemplateIdRefWithVm() {
final VM v = new VM();
b.setVm(v);
final Guid g = b.getVmTemplateIdRef();
assertEquals(GUID, g);
}
@Test
public void vmTemplateNameDefault() {
final String n = b.getVmTemplateName();
assertNull(n);
}
@Test
public void vmTemplateName() {
b.setVmTemplateName(NAME);
final String nm = b.getVmTemplateName();
assertEquals(NAME, nm);
}
@Test
public void vmTemplateNameWithVm() {
final VM v = new VM();
b.setVm(v);
final String n = b.getVmTemplateName();
assertEquals(NAME, n);
}
@Test
public void vmIdDefault() {
final Guid i = b.getVmId();
assertEquals(Guid.Empty, i);
}
@Test
public void vmIdNull() {
b.setVmId(null);
final Guid i = b.getVmId();
assertEquals(Guid.Empty, i);
}
@Test
public void vmId() {
b.setVmId(GUID);
final Guid i = b.getVmId();
assertEquals(GUID, i);
}
@Test
public void snapshotNameDefault() {
final String s = b.getSnapshotName();
assertNull(s);
}
@Test
public void snapshotNameNull() {
b.setSnapshotName(null);
final String s = b.getSnapshotName();
assertNull(s);
}
@Test
public void snapshotNameEmpty() {
final String e = "";
b.setSnapshotName(e);
final String s = b.getSnapshotName();
assertEquals(e, s);
}
@Test
public void snapshotName() {
b.setSnapshotName(NAME);
final String s = b.getSnapshotName();
assertEquals(NAME, s);
}
@Test
public void vmIdRefDefault() {
final Guid g = b.getVmIdRef();
assertEquals(Guid.Empty, g);
}
@Test
public void vmIdRefNullVmId() {
b.setVmId(null);
final Guid g = b.getVmIdRef();
assertNull(g);
}
@Test
public void vmIdRefNullVm() {
b.setVmId(null);
final VM v = new VM();
v.setId(GUID);
b.setVm(v);
final Guid g = b.getVmIdRef();
assertEquals(GUID, g);
}
@Test
public void vmNameDefault() {
final String n = b.getVmName();
assertNull(n);
}
@Test
public void vmNameNull() {
b.setVmName(null);
final String n = b.getVmName();
assertNull(n);
}
@Test
public void vmNameNullVm() {
b.setVmName(null);
final VM v = new VM();
v.setName(NAME);
b.setVm(v);
final String n = b.getVmName();
assertEquals(NAME, n);
}
@Test
public void vmName() {
b.setVmName(NAME);
final String n = b.getVmName();
assertEquals(NAME, n);
}
@Test
public void vdsIdRefDefault() {
final Guid g = b.getVdsIdRef();
assertNull(g);
}
@Test
public void vdsIdRefNull() {
b.setVdsIdRef(null);
final Guid g = b.getVdsIdRef();
assertNull(g);
}
@Test
public void vdsIdRef() {
b.setVdsIdRef(GUID);
final Guid g = b.getVdsIdRef();
assertEquals(GUID, g);
}
@Test
public void vdsIdRefVds() {
b.setVdsIdRef(null);
final VDS v = new VDS();
v.setId(GUID);
b.setVds(v);
final Guid g = b.getVdsIdRef();
assertEquals(GUID, g);
}
@Test
public void vdsIdDefault() {
final Guid g = b.getVdsId();
assertEquals(Guid.Empty, g);
}
@Test
public void vdsIdNull() {
b.setVdsId(null);
final Guid g = b.getVdsId();
assertEquals(Guid.Empty, g);
}
@Test
public void vdsId() {
b.setVdsId(GUID);
final Guid g = b.getVdsId();
assertEquals(GUID, g);
}
@Test
public void vdsNameDefault() {
final String s = b.getVdsName();
assertNull(s);
}
@Test
public void vdsNameNull() {
b.setVdsName(null);
final String s = b.getVdsName();
assertNull(s);
}
@Test
public void vdsName() {
b.setVdsName(NAME);
final String s = b.getVdsName();
assertEquals(NAME, s);
}
@Test
public void vdsNameVds() {
b.setVdsName(null);
final VDS v = new VDS();
v.setVdsName(NAME);
b.setVds(v);
final String s = b.getVdsName();
assertEquals(NAME, s);
}
@Test
public void storageDomainDefault() {
final StorageDomain s = b.getStorageDomain();
assertNull(s);
}
@Test
public void storageDomainNull() {
b.setStorageDomain(null);
final StorageDomain s = b.getStorageDomain();
assertNull(s);
}
@Test
public void storageDomain() {
final StorageDomain s = new StorageDomain();
b.setStorageDomain(s);
final StorageDomain st = b.getStorageDomain();
assertEquals(s, st);
}
@Test
public void storageDomainWithId() {
b.setStorageDomainId(GUID);
b.setStoragePoolId(GUID);
final StorageDomain s = b.getStorageDomain();
assertEquals(STORAGE_DOMAIN, s);
}
@Test
public void storageDomainWithIdNullPool() {
b.setStorageDomainId(GUID);
b.setStoragePoolId(GUID2);
final StorageDomain s = b.getStorageDomain();
assertNull(s);
}
@Test
public void storageDomainWithNullId() {
b.setStorageDomainId(GUID2);
final StorageDomain s = b.getStorageDomain();
assertEquals(STORAGE_DOMAIN, s);
}
@Test
public void storageDomainIdDefault() {
final Guid g = b.getStorageDomainId();
assertNull(g);
}
@Test
public void storageDomainIdNull() {
b.setStorageDomainId(null);
final Guid g = b.getStorageDomainId();
assertNull(g);
}
@Test
public void storageDomainId() {
b.setStorageDomainId(GUID);
final Guid g = b.getStorageDomainId();
assertEquals(GUID, g);
}
@Test
public void storageDomainIdWithStorageDomain() {
final StorageDomain s = new StorageDomain();
s.setId(GUID);
b.setStorageDomain(s);
final Guid g = b.getStorageDomainId();
assertEquals(GUID, g);
}
@Test
public void storageDomainNameDefault() {
final String s = b.getStorageDomainName();
assertEquals("", s);
}
@Test
public void storageDomainName() {
final StorageDomain s = new StorageDomain();
s.setStorageName(NAME);
b.setStorageDomain(s);
final String n = b.getStorageDomainName();
assertEquals(NAME, n);
}
@Test
public void storagePoolDefault() {
final StoragePool p = b.getStoragePool();
assertNull(p);
}
@Test
public void storagePoolWithId() {
b.setStoragePoolId(GUID);
final StoragePool p = b.getStoragePool();
assertNotNull(p);
}
@Test
public void storagePool() {
final StoragePool p = new StoragePool();
b.setStoragePool(p);
final StoragePool sp = b.getStoragePool();
assertEquals(p, sp);
}
@Test
public void storagePoolIdDefault() {
final Guid n = b.getStoragePoolId();
assertNull(n);
}
@Test
public void storagePoolIdNull() {
b.setStoragePoolId(null);
final Guid n = b.getStoragePoolId();
assertNull(n);
}
@Test
public void storagePoolId() {
b.setStoragePoolId(GUID);
final Guid n = b.getStoragePoolId();
assertEquals(GUID, n);
}
@Test
public void storagePoolIdWithStoragePool() {
b.setStoragePoolId(null);
final StoragePool p = new StoragePool();
p.setId(GUID);
b.setStoragePool(p);
final Guid n = b.getStoragePoolId();
assertEquals(GUID, n);
}
@Test
public void storagePoolIdWithStorageDomain() {
b.setStoragePoolId(null);
b.setStoragePool(null);
final StorageDomain s = new StorageDomain();
s.setStoragePoolId(GUID);
b.setStorageDomain(s);
final Guid n = b.getStoragePoolId();
assertEquals(GUID, n);
}
@Test
public void storagePoolNameDefault() {
final String s = b.getStoragePoolName();
assertEquals("", s);
}
@Test
public void storagePoolName() {
final StoragePool p = new StoragePool();
p.setName(NAME);
b.setStoragePool(p);
final String s = b.getStoragePoolName();
assertEquals(NAME, s);
}
@Test
public void auditLogTypeValue() {
final AuditLogType t = b.getAuditLogTypeValue();
assertEquals(AuditLogType.UNASSIGNED, t);
}
@Test
public void getVdsDefault() {
final VDS v = b.getVds();
assertNull(v);
}
@Test
public void getVdsNullAll() {
final VDS vds = null;
final VM vm = null;
final Guid vdsId = null;
b.setVds(vds);
b.setVdsId(vdsId);
b.setVm(vm);
final VDS v = b.getVds();
assertNull(v);
}
@Test
public void getVdsNullVdsId() {
final VDS vds = null;
final VM vm = new VM();
vm.setRunOnVds(GUID3);
final Guid vdsId = null;
b.setVds(vds);
b.setVdsId(vdsId);
b.setVm(vm);
final VDS v = b.getVds();
assertNull(v);
}
@Test
public void getVdsNullRun() {
final VDS vds = null;
final VM vm = new VM();
vm.setRunOnVds(null);
final Guid vdsId = null;
b.setVds(vds);
b.setVdsId(vdsId);
b.setVm(vm);
final VDS v = b.getVds();
assertNull(v);
}
@Test
public void getVdsWithVds() {
final VDS vds = new VDS();
final VM vm = null;
final Guid vdsId = null;
b.setVds(vds);
b.setVdsId(vdsId);
b.setVm(vm);
final VDS v = b.getVds();
assertEquals(vds, v);
}
@Test
public void getVdsWithVdsId() {
final VM vm = new VM();
vm.setRunOnVds(GUID2);
b.setVdsId(GUID);
b.setVm(vm);
final VDS v = b.getVds();
assertEquals(GUID, v.getId());
}
@Test
public void getVdsWithVm() {
final VDS vds = null;
final VM vm = new VM();
vm.setRunOnVds(GUID2);
final Guid vdsId = null;
b.setVds(vds);
b.setVdsId(vdsId);
b.setVm(vm);
final VDS v = b.getVds();
assertEquals(GUID2, v.getId());
}
@Test
public void getVdsSwallowsException() {
final VDS vds = null;
final VM vm = new VM();
vm.setRunOnVds(GUID2);
b.setVds(vds);
b.setVdsId(GUID3);
b.setVm(vm);
final VDS v = b.getVds();
assertNull(v);
}
@Test
public void getVmDefault() {
final VM v = b.getVm();
assertNull(v);
}
@Test
public void getVm() {
final VM v = new VM();
b.setVm(v);
final VM vm = b.getVm();
assertEquals(v, vm);
}
@Test
public void getVmNullId() {
final VM v = null;
b.setVm(v);
b.setVmId(null);
final VM vm = b.getVm();
assertNull(vm);
}
@Test
public void getVmEmptyId() {
final VM v = null;
b.setVm(v);
b.setVmId(Guid.Empty);
final VM vm = b.getVm();
assertNull(vm);
}
@Test
public void getVmFromId() {
final VM v = null;
b.setVm(v);
b.setVmId(GUID);
final VM vm = b.getVm();
assertNotNull(vm);
}
@Test
public void getVmSwallowsExceptions() {
final VM v = null;
b.setVm(v);
b.setVmId(GUID3);
final VM vm = b.getVm();
assertNull(vm);
}
@Test
public void getVmTemplateDefault() {
final VmTemplate t = b.getVmTemplate();
assertNull(t);
}
@Test
public void getVmTemplateNull() {
b.setVmTemplate(null);
final VmTemplate t = b.getVmTemplate();
assertNull(t);
}
@Test
public void getVmTemplateWithId() {
b.setVmTemplate(null);
b.setVmTemplateId(GUID);
final VmTemplate t = b.getVmTemplate();
assertNotNull(t);
}
@Test
public void getVmTemplateWithVm() {
b.setVmTemplate(null);
b.setVmTemplateId(null);
final VM vm = new VM();
vm.setVmtGuid(GUID);
b.setVm(vm);
final VmTemplate t = b.getVmTemplate();
assertNotNull(t);
}
@Test
public void getClusterIdDefault() {
final Guid g = b.getClusterId();
assertEquals(Guid.Empty, g);
}
@Test
public void getClusterId() {
b.setClusterId(GUID);
final Guid g = b.getClusterId();
assertEquals(GUID, g);
}
@Test
public void getClusterIdCluster() {
final Cluster gr = new Cluster();
gr.setId(GUID);
b.setCluster(gr);
final Guid g = b.getClusterId();
assertEquals(GUID, g);
}
@Test
public void getClusterDefault() {
final Cluster g = b.getCluster();
assertNull(g);
}
@Test
public void getClusterNotNull() {
final Cluster g = new Cluster();
b.setCluster(g);
final Cluster gr = b.getCluster();
assertEquals(g, gr);
}
@Test
public void getClusterWithId() {
b.setClusterId(GUID);
final Cluster g = b.getCluster();
assertEquals(GUID, g.getId());
}
@Test
public void getClusterWithVds() {
final VDS v = new VDS();
v.setClusterId(GUID);
b.setVds(v);
final Cluster g = b.getCluster();
assertEquals(GUID, g.getId());
}
@Test
public void getClusterWithVm() {
final VM v = new VM();
v.setClusterId(GUID);
b.setVm(v);
final Cluster g = b.getCluster();
assertEquals(GUID, g.getId());
}
@Test
public void getClusterNameDefault() {
final String n = b.getClusterName();
assertEquals("", n);
}
@Test
public void getClusterNameNullVds() {
final Cluster g = null;
b.setCluster(g);
final String n = b.getClusterName();
assertEquals("", n);
}
@Test
public void getClusterName() {
final Cluster g = new Cluster();
g.setName(NAME);
b.setCluster(g);
final String n = b.getClusterName();
assertEquals(NAME, n);
}
@Test(expected = NullPointerException.class)
public void addCustomValueDoesNotHandleNullKeys() {
final String key = null;
final String value = NAME;
b.addCustomValue(key, value);
final String v = b.getCustomValue(key);
assertEquals(value, v);
}
@Test
public void addCustomValueWillNotReturnANull() {
final String key = NAME;
final String value = null;
b.addCustomValue(key, value);
final String v = b.getCustomValue(key);
assertEquals("", v);
}
@Test
public void customValue() {
final String key = "foo";
final String value = NAME;
b.addCustomValue(key, value);
final String v = b.getCustomValue(key);
assertEquals(value, v);
}
@Test
public void getCustomValuesLeaksInternalStructure() {
final String key = "foo";
final String value = NAME;
b.addCustomValue(key, value);
final String v = b.getCustomValue(key);
assertEquals(value, v);
final Map<String, String> m = b.getCustomValues();
m.clear();
final String s = b.getCustomValue(key);
assertEquals("", s);
}
@Test
public void appendCustomValue() {
final String key = "foo";
final String value = NAME;
final String sep = "_";
b.appendCustomValue(key, value, sep);
final String s = b.getCustomValue(key);
assertEquals(value, s);
}
@Test
public void setCustomValues() {
final String key = "foo";
doSetCustomValuesTest(b, key);
}
@Test
public void setCustomValuesOverridesExistingValues() {
final String key = "foo";
b.appendCustomValue(key, "test value", null);
doSetCustomValuesTest(b, key);
}
@Test
public void setCustomValuesOverridesDoesNotAffectsOtherKeys() {
final String key1 = "foo";
final String key2 = "bar";
b.appendCustomValue(key2, "test value 2", null);
doSetCustomValuesTest(b, key1);
assertThat(b.getCustomValue(key2), is("test value 2"));
}
private void doSetCustomValuesTest(AuditLogableBase underTest, String key) {
final String value1 = NAME + 1;
final String value2 = NAME + 2;
final List<String> values = Arrays.asList(value1, value2);
final String sep = "_";
underTest.setCustomValues(key, values, sep);
final String actual = underTest.getCustomValue(key);
final String expected = String.format("%s%s%s", value1, sep, value2);
assertEquals(expected, actual);
}
@Test
public void setCustomCommaSeparatedValues() {
final String key = "foo";
final String s1 = NAME + 1;
final String s2 = NAME + 2;
final List<String> values = Arrays.asList(s1, s2);
final String sep = ", ";
b.setCustomCommaSeparatedValues(key, values);
final String actual = b.getCustomValue(key);
assertEquals(String.format("%s%s%s", s1, sep, s2), actual);
}
@Test
public void appendCustomValueAppend() {
final String key = "foo";
final String value = NAME;
final String newVal = "bar";
final String sep = "_";
b.addCustomValue(key, value);
b.appendCustomValue(key, newVal, sep);
final String s = b.getCustomValue(key);
assertEquals(value + sep + newVal, s);
}
@Test(expected = NullPointerException.class)
public void appendCustomValueDoesntHandleNullKeys() {
final String key = null;
final String value = NAME;
final String sep = "_";
b.appendCustomValue(key, value, sep);
final String s = b.getCustomValue(key);
assertEquals(value, s);
}
@Test
public void appendCustomValueAppendsWithNull() {
final String key = "foo";
final String value = null;
final String newVal = "bar";
final String sep = "_";
b.addCustomValue(key, value);
b.appendCustomValue(key, newVal, sep);
final String s = b.getCustomValue(key);
assertEquals(value + sep + newVal, s);
}
@Test
public void appendCustomValueUsesNullSeparator() {
final String key = "foo";
final String value = NAME;
final String newVal = "bar";
final String sep = null;
b.addCustomValue(key, value);
b.appendCustomValue(key, newVal, sep);
final String s = b.getCustomValue(key);
assertEquals(value + sep + newVal, s);
}
@Test
public void getCustomValueFromEmptyMap() {
final String s = b.getCustomValue(NAME);
assertEquals("", s);
}
}