blob: 6900ed9606800bdd16e847736009c0148112e85f [file] [log] [blame]
Andrew Browna450fad2015-01-22 11:24:40 -08001/*
2 * File name: ServerTest.java
3 *
4 * Purpose: Test Server.java
5 *
6 * © Copyright Intel Corporation. All rights reserved.
7 * Intel Corporation, 2200 Mission College Boulevard,
8 * Santa Clara, CA 95052-8119, USA
9 */
10package com.intel.jndn.utils;
11
Andrew Browndb457052015-02-21 15:41:58 -080012import com.intel.jndn.utils.event.NDNObserver;
Andrew Browna450fad2015-01-22 11:24:40 -080013import com.intel.jndn.mock.MockTransport;
14import net.named_data.jndn.Data;
15import net.named_data.jndn.Face;
16import net.named_data.jndn.Interest;
17import net.named_data.jndn.Name;
18import net.named_data.jndn.util.Blob;
19import org.apache.logging.log4j.LogManager;
20import org.apache.logging.log4j.Logger;
21import org.junit.Test;
22import static org.junit.Assert.*;
23
24/**
25 * Test Server.java
26 * @author Andrew Brown <andrew.brown@intel.com>
27 */
28public class ServerTest {
29
30 private static final Logger logger = LogManager.getLogger();
31
32 /**
33 * Test on functionality
34 * TODO more comprehensive tests with InternalFace
35 * @throws java.lang.InterruptedException
36 */
37 @Test
38 public void testOn() throws InterruptedException {
39 // setup face
40 MockTransport transport = new MockTransport();
41 Face face = new Face(transport, null);
42
43 // setup server
44 NDNObserver observer = Server.getDefault().on(face, new Name("/test/server/on"), new OnServeInterest() {
45 @Override
46 public Data onInterest(Name prefix, Interest interest) {
47 Data data = new Data(interest.getName());
48 data.setContent(new Blob("..."));
49 return data;
50 }
51 });
52
53 // wait for background threads to run
54 Thread.sleep(100);
55
56 // check
57 assertEquals(1, transport.getSentInterestPackets().size());
58 }
59}