/** * Copyright (C) 2014 - present by OpenGamma Inc. and the OpenGamma group of companies * * Please see distribution for license. */ package com.opengamma.bbg.livedata.normalization; import static org.testng.AssertJUnit.assertEquals; import static org.testng.AssertJUnit.assertTrue; import java.util.List; import org.fudgemsg.FudgeField; import org.fudgemsg.MutableFudgeMsg; import org.testng.annotations.Test; import com.google.common.collect.Lists; import com.opengamma.bbg.BloombergConstants; import com.opengamma.livedata.permission.PermissionUtils; import com.opengamma.livedata.server.FieldHistoryStore; import com.opengamma.util.fudgemsg.OpenGammaFudgeContext; import com.opengamma.util.test.TestGroup; /** * Test EID field name and value normalization in liveData and snapshot */ @Test(groups = TestGroup.UNIT) public class BloombergEidFieldValueNormalizerTest { public void normalizeEidNameAndValue() { BloombergEidFieldValueNormalizer normalizer = new BloombergEidFieldValueNormalizer(); MutableFudgeMsg msg = OpenGammaFudgeContext.getInstance().newMessage(); msg.add(BloombergConstants.EID_LIVE_DATA_FIELD, 10); msg.add("Bar", 2.0); msg.add("Baz", 500); msg.add(BloombergConstants.EID_LIVE_DATA_FIELD, 20); msg.add(BloombergConstants.EID_DATA.toString(), 30); msg.add(BloombergConstants.EID_DATA.toString(), 40); MutableFudgeMsg normalized = normalizer.apply(msg, "test", new FieldHistoryStore()); assertEquals(6, normalized.getAllFields().size()); List<FudgeField> eidLiveData = normalized.getAllByName(BloombergConstants.EID_LIVE_DATA_FIELD); assertTrue(eidLiveData.isEmpty()); List<FudgeField> eidRefData = normalized.getAllByName(BloombergConstants.EID_DATA.toString()); assertTrue(eidRefData.isEmpty()); List<FudgeField> permissions = normalized.getAllByName(PermissionUtils.LIVE_DATA_PERMISSION_FIELD); assertEquals(4, permissions.size()); List<String> permissionValues = Lists.newArrayList(); for (FudgeField fudgeField : permissions) { permissionValues.add((String) fudgeField.getValue()); } assertTrue(permissionValues.contains("Data:Bloomberg:EID:10")); assertTrue(permissionValues.contains("Data:Bloomberg:EID:20")); assertTrue(permissionValues.contains("Data:Bloomberg:EID:30")); assertTrue(permissionValues.contains("Data:Bloomberg:EID:40")); } }