/* See LICENSE for licensing and NOTICE for copyright. */
package org.ldaptive;
import java.util.Arrays;
import org.testng.Assert;
import org.testng.annotations.DataProvider;
import org.testng.annotations.Test;
/**
* Unit test for {@link DnsSrvConnectionStrategy}.
*
* @author Middleware Services
*/
public class DnsSrvConnectionStrategyTest
{
/** Strategy to test. */
private final DnsSrvConnectionStrategy strategy = new DnsSrvConnectionStrategy();
/**
* DNS test data.
*
* @return test data
*/
@DataProvider(name = "records")
public Object[][] createRecords()
{
return
new Object[][] {
new Object[] {
new DnsSrvConnectionStrategy.SrvRecord[] {
new DnsSrvConnectionStrategy.SrvRecord("0 0 389 larry.ldaptive.org.", 0),
new DnsSrvConnectionStrategy.SrvRecord("0 0 389 curly.ldaptive.org.", 0),
new DnsSrvConnectionStrategy.SrvRecord("0 0 389 moe.ldaptive.org.", 0),
},
new DnsSrvConnectionStrategy.SrvRecord[] {
new DnsSrvConnectionStrategy.SrvRecord("0 0 389 larry.ldaptive.org.", 0),
new DnsSrvConnectionStrategy.SrvRecord("0 0 389 curly.ldaptive.org.", 0),
new DnsSrvConnectionStrategy.SrvRecord("0 0 389 moe.ldaptive.org.", 0),
},
},
new Object[] {
new DnsSrvConnectionStrategy.SrvRecord[] {
new DnsSrvConnectionStrategy.SrvRecord("5 100 389 larry.ldaptive.org.", 0),
new DnsSrvConnectionStrategy.SrvRecord("1 0 389 curly.ldaptive.org.", 0),
new DnsSrvConnectionStrategy.SrvRecord("3 200 389 moe.ldaptive.org.", 0),
},
new DnsSrvConnectionStrategy.SrvRecord[] {
new DnsSrvConnectionStrategy.SrvRecord("1 0 389 curly.ldaptive.org.", 0),
new DnsSrvConnectionStrategy.SrvRecord("3 200 389 moe.ldaptive.org.", 0),
new DnsSrvConnectionStrategy.SrvRecord("5 100 389 larry.ldaptive.org.", 0),
},
},
};
}
/**
* @param records to sort
* @param sorted to compare
*
* @throws Exception On test failure.
*/
@Test(groups = {"provider"}, dataProvider = "records")
public void sortSrvRecords(
final DnsSrvConnectionStrategy.SrvRecord[] records,
final DnsSrvConnectionStrategy.SrvRecord[] sorted)
throws Exception
{
Assert.assertEquals(
strategy.sortSrvRecords(Arrays.asList(records)).toArray(new DnsSrvConnectionStrategy.SrvRecord[records.length]),
sorted);
}
}