blob: c7b89e1eed9fa6f63cf561be11f491d38f21cf64 [file] [log] [blame]
/*
* Copyright (C) 2008 The Android Open Source Project
*
* 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.
*/
package android.core;
import junit.framework.TestCase;
import java.net.InetAddress;
import java.net.UnknownHostException;
import java.util.Random;
import android.test.suitebuilder.annotation.Suppress;
/**
* Tests InetAddr class by checking methods to resolve domains to IP addresses
* and by checking if the class returns correct addresses for local host address
* and host name.
*/
@Suppress
public class InetAddrTest extends TestCase {
private static final String[] HOSTS = {
"localhost", "www.google.com", "www.slashdot.org", "www.wikipedia.org",
"www.paypal.com", "www.cnn.com", "www.yahoo.com", "www.amazon.com",
"www.ebay.com", "www.android.com"
};
public void testInetAddr() throws Exception {
byte[] raw;
InetAddress ia = InetAddress.getByName("localhost");
raw = ia.getAddress();
assertEquals(127, raw[0]);
assertEquals(0, raw[1]);
assertEquals(0, raw[2]);
assertEquals(1, raw[3]);
ia = InetAddress.getByName("127.0.0.1");
raw = ia.getAddress();
assertEquals(127, raw[0]);
assertEquals(0, raw[1]);
assertEquals(0, raw[2]);
assertEquals(1, raw[3]);
ia = InetAddress.getByName(null);
try {
InetAddress.getByName(".0.0.1");
fail("expected ex");
} catch (UnknownHostException ex) {
// expected
}
try {
InetAddress.getByName("thereisagoodchancethisdomaindoesnotexist.weirdtld");
fail("expected ex");
} catch (UnknownHostException ex) {
// expected
}
try {
InetAddress.getByName("127.0.0.");
fail("expected ex");
} catch (UnknownHostException ex) {
// expected
}
Random random = new Random();
int count = 0;
for (int i = 0; i < 100; i++) {
int index = random.nextInt(HOSTS.length);
try {
InetAddress.getByName(HOSTS[index]);
count++;
try {
Thread.sleep(50);
} catch (InterruptedException ex) {
}
} catch (UnknownHostException ex) {
}
}
assertEquals("Not all host lookups succeeded", 100, count);
}
}