Beispiel #1
0
  private void twoAddressesTest(
      String shard1Id, String shard2Id, int node1Weight, int node2Weight) {

    DataSource testDataSource =
        new DataSource() {
          public RedisConnection getConnection() {
            return null;
          }
        };

    TestNode node1 = new TestNode();
    TestNode node2 = new TestNode();

    expect(dataSourceFactoryMock.create("addr1", 1)).andReturn(testDataSource);
    expect(nodeFactoryMock.create(testDataSource)).andReturn(node1);

    expect(dataSourceFactoryMock.create("addr2", 2)).andReturn(testDataSource);
    expect(nodeFactoryMock.create(testDataSource)).andReturn(node2);

    replay(nodeFactoryMock, dataSourceFactoryMock);
    List<Shard<TestNode>> shards = new ArrayList<Shard<TestNode>>(shardsFactory.create());
    verify(nodeFactoryMock, dataSourceFactoryMock);

    Shard<TestNode> shard = shards.get(0);
    assertEquals(node1, shard.getNode());
    assertEquals(shard1Id, shard.getShardId());
    assertEquals(node1Weight, shard.getWeight());

    shard = shards.get(1);
    assertEquals(node2, shard.getNode());
    assertEquals(shard2Id, shard.getShardId());
    assertEquals(node2Weight, shard.getWeight());
  }