Package com.linkedin.databus.client.pub

Source Code of com.linkedin.databus.client.pub.TestServerInfo

package com.linkedin.databus.client.pub;
/*
*
* Copyright 2013 LinkedIn Corp. All rights reserved
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
*   http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied.  See the License for the
* specific language governing permissions and limitations
* under the License.
*
*/



import static org.testng.AssertJUnit.assertEquals;

import java.net.InetSocketAddress;
import java.util.Arrays;
import java.util.List;

import org.testng.annotations.Test;

import com.linkedin.databus.client.pub.DatabusServerCoordinates.StateId;
import com.linkedin.databus.client.pub.ServerInfo.ServerInfoBuilder;
import com.linkedin.databus.client.pub.ServerInfo.ServerInfoSetBuilder;

public class TestServerInfo {

  @Test
  public void testSupportsSources()
  {
    ServerInfo serverInfo  = new ServerInfo("test", StateId.ONLINE.name(), new InetSocketAddress("localhost", 9000),
        "source1", "source2", "source3", "source4");

    assertEquals(4, serverInfo.getSources().size());
    assertEquals(true, serverInfo.supportsSources(Arrays.asList("source1")));
    assertEquals(true, serverInfo.supportsSources(Arrays.asList("source3")));
    assertEquals(true, serverInfo.supportsSources(Arrays.asList("source2", "source4")));
    assertEquals(false, serverInfo.supportsSources(Arrays.asList("source5")));
    assertEquals(false, serverInfo.supportsSources(Arrays.asList("source3", "source1")));
  }

  @Test
  public void testToJsonString()
  {
    ServerInfo serverInfo  = new ServerInfo("test", StateId.ONLINE.name(), new InetSocketAddress("localhost", 9000),
        "source1", "source2", "source3", "source4");

    String jsonString = serverInfo.toJsonString();

    assertEquals(true, jsonString.contains("\"name\":\"test\""));
    assertEquals(true, jsonString.contains("[\"source1\",\"source2\",\"source3\",\"source4\"]"));
  }

  @Test
  public void testBuilderSetAddress() throws Exception
  {
    ServerInfoBuilder builder = new ServerInfoBuilder();
    String address = ServerInfoBuilder.generateAddress(null, "localhost", 12345,
                                                         "com.linkedin.events.source1",
                                                         "com.linkedin.events.source2",
                                                         "com.linkedin.events.source3");
    builder.setAddress(address);
    ServerInfo si = builder.build();
    assertEquals(12345, si.getAddress().getPort());
    assertEquals(3, si.getSources().size());
    assertEquals("com.linkedin.events.source1", si.getSources().get(0));
      assertEquals("com.linkedin.events.source2", si.getSources().get(1));
      assertEquals("com.linkedin.events.source3", si.getSources().get(2));
  }

    @Test
    public void testBuilderSetAddressWithName() throws Exception
    {
      ServerInfoBuilder builder = new ServerInfoBuilder();
      String address = ServerInfoBuilder.generateAddress("SeRvEr", "localhost", 99,
                                                         "com.linkedin.events.source1",
                                                         "com.linkedin.events.source3");
      builder.setAddress(address);
      ServerInfo si = builder.build();
      assertEquals("SeRvEr", si.getName());
      assertEquals(99, si.getAddress().getPort());
      assertEquals(2, si.getSources().size());
      assertEquals("com.linkedin.events.source1", si.getSources().get(0));
      assertEquals("com.linkedin.events.source3", si.getSources().get(1));
    }

    @Test
    public void testServerInfoSetBuilder() throws Exception
    {
      ServerInfoBuilder sib = new ServerInfoBuilder();
      String address1 = ServerInfoBuilder.generateAddress("SeRvEr1", "localhost", 98,
                                                         "com.linkedin.events.source1",
                                                         "com.linkedin.events.source3");
      sib.setAddress(address1);
      ServerInfo si1 = sib.build();

      String address2 = ServerInfoBuilder.generateAddress("SeRvEr2", "localhost", 99,
                                                          "com.linkedin.events.source1",
                                                          "com.linkedin.events.source3");
      sib.setAddress(address2);
      ServerInfo si2 = sib.build();

      String address3 = ServerInfoBuilder.generateAddress(null, "localhost", 100,
                                                         "com.linkedin.events.source1",
                                                         "com.linkedin.events.source2",
                                                         "com.linkedin.events.source3");
      sib.setAddress(address3);
      ServerInfo si3 = sib.build();

      ServerInfoSetBuilder builder = new ServerInfoSetBuilder();
      builder.setServers(address1 + ServerInfoSetBuilder.SERVER_INFO_SEPARATOR + address2 +
                         ServerInfoSetBuilder.SERVER_INFO_SEPARATOR + address3);
      List<ServerInfo> res = builder.build();

      assertEquals(3, res.size());
      assertEquals(true, res.contains(si1));
      assertEquals(true, res.contains(si2));
      assertEquals(true, res.contains(si3));
    }
}
TOP

Related Classes of com.linkedin.databus.client.pub.TestServerInfo

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.