Package com.opengamma.core.config.impl

Source Code of com.opengamma.core.config.impl.NonVersionedRedisConfigSourceTest

/**
* Copyright (C) 2013 - present by OpenGamma Inc. and the OpenGamma group of companies
*
* Please see distribution for license.
*/
package com.opengamma.core.config.impl;

import static org.testng.AssertJUnit.assertEquals;
import static org.testng.AssertJUnit.assertFalse;
import static org.testng.AssertJUnit.assertNotNull;
import static org.testng.AssertJUnit.assertTrue;

import java.util.BitSet;
import java.util.Collection;

import org.testng.annotations.Test;

import com.opengamma.id.ExternalId;
import com.opengamma.id.ExternalIdBundle;
import com.opengamma.id.ExternalScheme;
import com.opengamma.id.UniqueId;
import com.opengamma.util.test.AbstractRedisTestCase;
import com.opengamma.util.test.TestGroup;

/**
*
*/
@Test(enabled=false, groups=TestGroup.UNIT)
public class NonVersionedRedisConfigSourceTest extends AbstractRedisTestCase {
 
  public void putDeleteGetAll() {
    NonVersionedRedisConfigSource configSource = new NonVersionedRedisConfigSource(getJedisPool(), getRedisPrefix());
   
    ExternalIdBundle bundle1 = constructIdBundle("Test", "1");
    ExternalIdBundle bundle2 = constructIdBundle("Test", "2");
    ExternalIdBundle bundle3 = constructIdBundle("Test", "3");
    ExternalIdBundle bundle4 = constructIdBundle("Test", "4");
    ExternalIdBundle bundle5 = constructIdBundle("Test", "5");
    configSource.put(ExternalIdBundle.class, "bundle-1", bundle1);
    configSource.put(ExternalIdBundle.class, "bundle-2", bundle2);
    configSource.put(ExternalIdBundle.class, "bundle-3", bundle3);
    configSource.put(ExternalIdBundle.class, "bundle-4", bundle4);
    configSource.put(ExternalIdBundle.class, "bundle-5", bundle5);
   
    BitSet bitSet = new BitSet();
   
    Collection<ConfigItem<ExternalIdBundle>> bundles = configSource.getAll(ExternalIdBundle.class, null);
    assertNotNull(bundles);
    assertEquals(5, bundles.size());
    for (ConfigItem<ExternalIdBundle> item : bundles) {
      assertNotNull(item.getValue());
      assertTrue(item.getName().startsWith("bundle-"));
      Integer bundleNum = Integer.parseInt(item.getName().substring(7));
      bitSet.set(bundleNum);
      assertEquals(1, item.getValue().getExternalIds().size());
      assertEquals(bundleNum.toString(), item.getValue().getValue(ExternalScheme.of("Test")));
    }
    assertTrue(bitSet.get(1));
    assertTrue(bitSet.get(2));
    assertTrue(bitSet.get(3));
    assertTrue(bitSet.get(4));
    assertTrue(bitSet.get(5));
   
    bitSet.clear();
    configSource.delete(ExternalIdBundle.class, "bundle-4");
    bundles = configSource.getAll(ExternalIdBundle.class, null);
    assertNotNull(bundles);
    assertEquals(4, bundles.size());
    for (ConfigItem<ExternalIdBundle> item : bundles) {
      Integer bundleNum = Integer.parseInt(item.getName().substring(7));
      bitSet.set(bundleNum);
    }
    assertTrue(bitSet.get(1));
    assertTrue(bitSet.get(2));
    assertTrue(bitSet.get(3));
    assertFalse(bitSet.get(4));
    assertTrue(bitSet.get(5));
  }
 
  public void putGet() {
    NonVersionedRedisConfigSource configSource = new NonVersionedRedisConfigSource(getJedisPool(), getRedisPrefix());
   
    ExternalIdBundle bundle1 = constructIdBundle("Test", "1");
    ExternalIdBundle bundle2 = constructIdBundle("Test", "2");
    ExternalIdBundle bundle3 = constructIdBundle("Test", "3");
    ExternalIdBundle bundle4 = constructIdBundle("Test", "4");
    ExternalIdBundle bundle5 = constructIdBundle("Test", "5");
    configSource.put(ExternalIdBundle.class, "bundle-1", bundle1);
    configSource.put(ExternalIdBundle.class, "bundle-2", bundle2);
    configSource.put(ExternalIdBundle.class, "bundle-3", bundle3);
    configSource.put(ExternalIdBundle.class, "bundle-4", bundle4);
    configSource.put(ExternalIdBundle.class, "bundle-5", bundle5);
   
    ExternalIdBundle result = null;
   
    result = configSource.getLatestByName(ExternalIdBundle.class, "bundle-2");
    assertNotNull(result);
    assertEquals("2", result.getValue(ExternalScheme.of("Test")));
  }
 
  public void uniqueIdTest() {
    NonVersionedRedisConfigSource configSource = new NonVersionedRedisConfigSource(getJedisPool(), getRedisPrefix());
    ExternalIdBundle bundle1 = constructIdBundle("Test", "1");
    UniqueId uniqueId = configSource.put(ExternalIdBundle.class, "uniqueIdTest", bundle1);
    assertNotNull(uniqueId);
    assertEquals(NonVersionedRedisConfigSource.IDENTIFIER_SCHEME_DEFAULT, uniqueId.getScheme());
   
    ConfigItem<?> configItem = configSource.get(uniqueId);
    assertNotNull(configItem);
    assertEquals(bundle1, configItem.getValue());
    assertEquals(ExternalIdBundle.class, configItem.getType());
    assertEquals(uniqueId, configItem.getUniqueId());
  }
 
  private static ExternalIdBundle constructIdBundle(String scheme, String value) {
    ExternalId id = ExternalId.of(scheme, value);
    ExternalIdBundle bundle = ExternalIdBundle.of(id);
    return bundle;
  }
 
}
TOP

Related Classes of com.opengamma.core.config.impl.NonVersionedRedisConfigSourceTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.