use of com.xrtb.common.HttpPostGet in project XRTB by benmfaul.
the class TestInvalidBids method testInvalidJson.
@Test
public void testInvalidJson() throws Exception {
HttpPostGet http = new HttpPostGet();
String s = Charset.defaultCharset().decode(ByteBuffer.wrap(Files.readAllBytes(Paths.get("./SampleBids/c1xbad.txt")))).toString();
String content = null;
long time = 0;
try {
content = http.sendPost("http://" + Config.testHost + "/rtb/bids/c1x", s);
} catch (Exception error) {
fail("Network error");
}
assertTrue(http.getResponseCode() == 204);
assertNull(content);
}
use of com.xrtb.common.HttpPostGet in project XRTB by benmfaul.
the class TestWinProcessing method testCappingTimes1.
@Test
public void testCappingTimes1() throws Exception {
redisson.del("capped_blocker166.137.138.18");
for (Campaign c : Configuration.getInstance().campaignsList) {
if (c.adId.equals("ben:payday")) {
for (Creative cc : c.creatives) {
if (cc.impid.equals("blocker")) {
cc.capFrequency = 1;
break;
}
}
}
}
HttpPostGet http = new HttpPostGet();
String bid = Charset.defaultCharset().decode(ByteBuffer.wrap(Files.readAllBytes(Paths.get("./SampleBids/nexage50x50.txt")))).toString();
// Get 1 time is ok, but 2d time is a no bid
String s = http.sendPost("http://" + Config.testHost + "/rtb/bids/nexage", bid, 100000, 100000);
assertNotNull(s);
int rc = http.getResponseCode();
assertTrue(rc == 200);
String value = redisson.get("capped_blocker166.137.138.18");
assertTrue(value == null);
Bid win = new Bid(s);
String repl = win.nurl.replaceAll("\\$", "");
win.nurl = repl.replace("{AUCTION_PRICE}", ".05");
System.out.println(win.nurl);
s = http.sendPost(win.nurl, "", 30000, 30000);
value = redisson.get("capped_blocker166.137.138.18");
assertTrue(value.equals("1"));
// better no bid.
s = http.sendPost("http://" + Config.testHost + "/rtb/bids/nexage", bid, 100000, 100000);
rc = http.getResponseCode();
assertTrue(rc == 204);
assertNull(s);
rc = http.getResponseCode();
value = redisson.get("capped_blocker166.137.138.18");
assertTrue(value.equals("1"));
System.out.println("DONE!");
}
use of com.xrtb.common.HttpPostGet in project XRTB by benmfaul.
the class TestWinProcessing method testWinProcessingSmartyAds.
/**
* Test the basic win processing system of the RTB
* @throws Exception on networking problems.
*/
@Test
public void testWinProcessingSmartyAds() throws Exception {
HttpPostGet http = new HttpPostGet();
redisson.del("35c22289-06e2-48e9-a0cd-94aeb79fab43");
// Make the bid
String s = Charset.defaultCharset().decode(ByteBuffer.wrap(Files.readAllBytes(Paths.get("./SampleBids/nexage.txt")))).toString();
/**
* Send the bid
*/
try {
s = http.sendPost("http://" + Config.testHost + "/rtb/bids/smartyads", s, 3000000, 3000000);
} catch (Exception error) {
fail("Can't connect to test host: " + Config.testHost);
}
int code = http.getResponseCode();
assertTrue(code == 200);
Bid bid = null;
System.out.println(s);
int x = s.indexOf("{bid_id");
assertTrue(x == -1);
x = s.indexOf("%7Bbid_id");
assertTrue(x == -1);
try {
bid = new Bid(s);
} catch (Exception error) {
error.printStackTrace();
fail();
}
// Now retrieve the bid information from the cache
Map m = redisson.hgetAll(bid.id);
assertTrue(!m.isEmpty());
String price = (String) m.get("PRICE");
assertTrue(!price.equals("0.0"));
/**
* Send the win notification
*/
try {
String repl = bid.nurl.replaceAll("\\$", "");
bid.nurl = repl.replace("{AUCTION_PRICE}", ".05");
s = http.sendPost(bid.nurl, "");
} catch (Exception error) {
error.printStackTrace();
fail();
}
System.out.println(s);
x = s.indexOf("{creative_");
assertTrue(x == -1);
/*
* Make sure the returned adm is not crap html
*/
DocumentBuilder db = DocumentBuilderFactory.newInstance().newDocumentBuilder();
InputSource is = new InputSource();
is.setCharacterStream(new StringReader(s));
// Document doc = db.parse(is);
// Check to see the bid was removed from the cache
m = redisson.hgetAll(bid.id);
assertNull(m);
}
use of com.xrtb.common.HttpPostGet in project XRTB by benmfaul.
the class TestWinProcessing method testWinProcessingNexage.
/**
* Test the basic win processing system of the RTB
* @throws Exception on networking problems.
*/
@Test
public void testWinProcessingNexage() throws Exception {
HttpPostGet http = new HttpPostGet();
redisson.del("35c22289-06e2-48e9-a0cd-94aeb79fab43");
// Make the bid
String s = Charset.defaultCharset().decode(ByteBuffer.wrap(Files.readAllBytes(Paths.get("./SampleBids/nexage.txt")))).toString();
/**
* Send the bid
*/
try {
s = http.sendPost("http://" + Config.testHost + "/rtb/bids/nexage", s, 3000000, 3000000);
} catch (Exception error) {
fail("Can't connect to test host: " + Config.testHost);
}
int code = http.getResponseCode();
assertTrue(code == 200);
Bid bid = null;
System.out.println(s);
int x = s.indexOf("{bid_id");
assertTrue(x == -1);
x = s.indexOf("%7Bbid_id");
assertTrue(x == -1);
try {
bid = new Bid(s);
} catch (Exception error) {
error.printStackTrace();
fail();
}
// Now retrieve the bid information from the cache
Map m = redisson.hgetAll(bid.id);
assertTrue(!m.isEmpty());
String price = (String) m.get("PRICE");
assertNotNull(price);
assertTrue(!price.equals("0.0"));
/**
* Send the win notification
*/
try {
String repl = bid.nurl.replaceAll("\\$", "");
bid.nurl = repl.replace("{AUCTION_PRICE}", ".05");
s = http.sendPost(bid.nurl, "");
} catch (Exception error) {
error.printStackTrace();
fail();
}
assertNotNull(s);
/*
* Make sure the returned adm is not crap html
*/
DocumentBuilder db = DocumentBuilderFactory.newInstance().newDocumentBuilder();
InputSource is = new InputSource();
is.setCharacterStream(new StringReader(s));
// Document doc = db.parse(is);
// Check to see the bid was removed from the cache
m = redisson.hgetAll(bid.id);
assertNull(m);
}
use of com.xrtb.common.HttpPostGet in project XRTB by benmfaul.
the class TestWinProcessing method testWinProcessingAtomx.
@Test
public void testWinProcessingAtomx() throws Exception {
HttpPostGet http = new HttpPostGet();
redisson.del("35c22289-06e2-48e9-a0cd-94aeb79fab43");
// Make the bid
String s = Charset.defaultCharset().decode(ByteBuffer.wrap(Files.readAllBytes(Paths.get("./SampleBids/nexage.txt")))).toString();
/**
* Send the bid
*/
try {
s = http.sendPost("http://" + Config.testHost + "/rtb/bids/atomx", s, 3000000, 3000000);
} catch (Exception error) {
fail("Can't connect to test host: " + Config.testHost);
}
int code = http.getResponseCode();
assertTrue(code == 200);
Bid bid = null;
System.out.println(s);
int x = s.indexOf("{bid_id");
assertTrue(x == -1);
x = s.indexOf("%7Bbid_id");
assertTrue(x == -1);
try {
bid = new Bid(s);
} catch (Exception error) {
error.printStackTrace();
fail();
}
// Now retrieve the bid information from the cache
Map m = redisson.hgetAll(bid.id);
assertTrue(!m.isEmpty());
String price = (String) m.get("PRICE");
assertNotNull(price);
assertTrue(!price.equals("0.0"));
/**
* Send the win notification
*/
try {
String repl = bid.nurl.replaceAll("\\$", "");
bid.nurl = repl.replace("{AUCTION_PRICE}", ".05");
s = http.sendPost(bid.nurl, "");
} catch (Exception error) {
error.printStackTrace();
fail();
}
System.out.println(s);
x = s.indexOf("{creative_");
assertTrue(x == -1);
/*
* Make sure the returned adm is not crap html
*/
DocumentBuilder db = DocumentBuilderFactory.newInstance().newDocumentBuilder();
InputSource is = new InputSource();
is.setCharacterStream(new StringReader(s));
// Document doc = db.parse(is);
// Check to see the bid was removed from the cache
m = redisson.hgetAll(bid.id);
assertNull(m);
}
Aggregations