aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLaurent Ghigonis <laurent@p1sec.com>2013-02-28 12:41:07 +0100
committerLaurent Ghigonis <laurent@p1sec.com>2013-02-28 12:41:07 +0100
commit30dca79576e6eaac39f4d5082b54d6332bfa12df (patch)
tree56b7f7ba7283f6b391e9d0e0df21d372e29b0fd0
parentdtube: fix bug if no country in IPrange of AS (diff)
downloadlaurent-tools-30dca79576e6eaac39f4d5082b54d6332bfa12df.tar.xz
laurent-tools-30dca79576e6eaac39f4d5082b54d6332bfa12df.zip
dtube: remove unittests and create external script to test dtube
-rwxr-xr-xdtube/dtube.py44
-rwxr-xr-xdtube/test_dtube.sh18
2 files changed, 27 insertions, 35 deletions
diff --git a/dtube/dtube.py b/dtube/dtube.py
index 8b440b4..e9de032 100755
--- a/dtube/dtube.py
+++ b/dtube/dtube.py
@@ -4,12 +4,13 @@
# 2013 Laurent Ghigonis <laurent@p1sec.com>
#
# TODO
-# * add unittests to git
# * dns country
# * -a show all (href ...)
# * multiple requests when result truncated
-# * [-t ranges|A|PTR|ip]
-# * [-f filter]
+# * parser.add_option('-t', action="store", dest="query_type", default=0, type=str,
+# help='Query type: range, A, PTR, ip, country')
+# * parser.add_option('-f', action="store", dest="filter", default=None, type=str,
+# help='Filter regex for company name')
import sys
import os
@@ -18,7 +19,6 @@ import requests_cache # pip install requests_cache
import pprint
import time
import random
-import unittest
import re
from lxml import etree
from optparse import OptionParser
@@ -153,7 +153,7 @@ class HeAS(He):
def show(self):
print "====== INFO ======"
print self.info
- print "====== PREFIXES ======"
+ print "====== PREFIXES (%d) ======" % len(self.prefixes)
print "Range\t\tDescription\t(Country)"
print self.prefixes_txt
@@ -193,10 +193,10 @@ class HeIPrange(He):
# XXX IRR
def show(self):
- print "====== AS ======"
+ print "====== AS (%d) ======" % len(self.AS)
print "AS\tIPrange\t\tDescription"
print self.AS_txt
- print "====== DNS ======"
+ print "====== DNS (%d) ======" % len(self.dns)
print "IP\t\tPTR\t[| A]"
print self.dns_txt
@@ -227,10 +227,10 @@ class HeIP(He):
# XXX RBL
def show(self):
- print "====== AS ======"
+ print "====== AS (%d) ======" % len(self.AS)
print "AS\tIPrange\t\tDescription"
print self.AS_txt
- print "====== DNS ======"
+ print "====== DNS (%d) ======" % len(self.dns)
print "PTR and A records"
print self.dns_txt
@@ -246,34 +246,8 @@ class HeCountry(He):
def __init__(self, country, fromfile=None, verbose=False):
raise Exception("Country Not supported yet")
-class HeAS_unittest(unittest.TestCase):
- def test_parse(self):
- print "HeAS_unittest.test_parse()"
- for t in os.listdir('tests/AS'):
- tname = t[:-5]
- h = HeAS(tname, fromfile="tests/AS/%s" % t)
- self.assertTrue(h is not None)
-
-class HeIPRange_unittest(unittest.TestCase):
- def test_parse(self):
- print "HeIPRange_unittest.test_parse()"
- for t in os.listdir('tests/IPRange'):
- tname = t[:-5]
- h = HeIPrange(tname, fromfile="tests/IPRange/%s" % t)
- self.assertTrue(h is not None)
-
if __name__ == '__main__':
- if os.environ.has_key("UNITTEST"):
- if len(sys.argv) > 1:
- raise Exception("No arguments accepted in UNITTEST mode")
- unittest.main()
- sys.exit(0)
-
parser = OptionParser(usage=usage())
- #parser.add_option('-t', action="store", dest="query_type", default=0, type=str,
- # help='Query type: range, A, PTR, ip, country')
- #parser.add_option('-f', action="store", dest="filter", default=None, type=str,
- # help='Filter regex for company name')
parser.add_option('-n', action="store_true", dest="url_nocache", default=False,
help='Do not cache answers')
parser.add_option('-v', action="store_true", dest="verbose", default=False,
diff --git a/dtube/test_dtube.sh b/dtube/test_dtube.sh
new file mode 100755
index 0000000..396a04b
--- /dev/null
+++ b/dtube/test_dtube.sh
@@ -0,0 +1,18 @@
+#test_target="AS23118 91.220.156.0/24 208.67.222.222 ovh.net US"
+test_target="AS23118 91.220.156.0/24 208.67.222.222"
+
+err() {
+ echo "ERROR while executing $1"
+ exit 1
+}
+
+mkdir -p "tests_output" ||exit
+
+for t in $test_target; do
+ tp=`echo $t |tr '/' '-'`
+ cmd="./dtube.py $t"
+ echo $cmd
+ ./dtube.py $t > "tests_output/$tp" ||err $cmd $t
+done
+
+echo "All tests OK"