Adding subscriber test to use sqlite database for subscriber info before running the join tests.
diff --git a/src/test/subscriber/subscriberDb.py b/src/test/subscriber/subscriberDb.py
new file mode 100644
index 0000000..d6b3f75
--- /dev/null
+++ b/src/test/subscriber/subscriberDb.py
@@ -0,0 +1,61 @@
+import sqlite3
+import sys
+
+class SubscriberDB:
+    def __init__(self, db = 'subscriber.db', create = False):
+        self.db = db
+        self.con = sqlite3.connect(db)
+        self.con.row_factory = sqlite3.Row
+        self.cur = self.con.cursor()
+        self.services = [ 'DHCP', 'IGMP' ]
+        self.create = create
+        if create == True:
+            self.cur.execute("DROP TABLE IF EXISTS Subscriber")
+            self.cur.execute("CREATE TABLE Subscriber(Id INTEGER PRIMARY KEY, Name TEXT, Service TEXT);")
+
+    def load(self, name, service):
+        self.cur.execute("INSERT INTO Subscriber(Name, Service) VALUES (?, ?);", (name, service))
+
+    def commit(self):
+        self.con.commit()
+
+    def generate(self, num = 100):
+        #create db if not created
+        if self.create is False:
+            self.cur.execute("DROP TABLE IF EXISTS Subscriber")
+            self.cur.execute("CREATE TABLE Subscriber(Id INTEGER PRIMARY KEY, Name TEXT, Service TEXT);")
+            self.create = True
+        service = ' '.join(self.services)
+        for i in xrange(num):
+            name = "sub%d" %self.lastrowid()
+            self.load(name, service)
+        self.commit()
+
+    def read(self, num = 1000000, debug = False):
+        self.cur.execute("SELECT * FROM Subscriber LIMIT ?;", (num,))
+        rows = self.cur.fetchall()
+        if debug is True:
+            for row in rows:
+                print('Id %d, Name %s, Service %s' %(row['Id'], row['Name'], row['Service']))
+        return rows
+
+    def lastrowid(self):
+        return 0 if self.cur.lastrowid == None else self.cur.lastrowid
+
+if __name__ == "__main__":
+    create = False
+    if len(sys.argv) > 1:
+        try:
+            num_subscribers = int(sys.argv[1])
+        except:
+            num_subscribers = 100
+        print('Creating %d subscriber records' %num_subscribers)
+        create = True
+    sub = SubscriberDB(create = create)
+    if create == True:
+        sub.generate(num_subscribers)
+    else:
+        num_subscribers = 10
+    subscribers = sub.read(num_subscribers)
+    for s in subscribers:
+        print('Name %s, Service %s' %(s['Name'], s['Service']))