]> git.ipfire.org Git - thirdparty/pdns.git/commitdiff
geoipbackend: Use only our own database for tests
authorAki Tuomi <cmouse@cmouse.fi>
Wed, 3 Jan 2018 07:12:32 +0000 (09:12 +0200)
committerAki Tuomi <cmouse@cmouse.fi>
Wed, 14 Feb 2018 07:15:53 +0000 (09:15 +0200)
Removes dependency to external data

modules/geoipbackend/regression-tests/GeoLiteCity-Blocks.csv
modules/geoipbackend/regression-tests/GeoLiteCity-Location.csv
modules/geoipbackend/regression-tests/GeoLiteCity.dat.b64
regression-tests/backends/geoip-master

index 3e0866adc82a770b5c95487708494978d45869c3..47d62d95631139e9379d20386d9c619e5e26cc94 100644 (file)
@@ -2,3 +2,5 @@ startIpNum,endIpNum,locId
 "2130706433","2130706433","1"
 "2130706434","2130706434","2"
 "2130706435","2130706435","3"
+"16843008","16843264","4"
+"16909056","16909312","5"
index a0786c2ec164dd10b07a57f546e7bcdcd7368cf7..42faea714f2a83ab402c99ee608d7a6a1124d402 100644 (file)
@@ -2,3 +2,5 @@ locId,country,region,city,postalCode,latitude,longitude,metroCode,areaCode
 1,"O1","L1","C1","00001",0,0,1,1
 2,"O1","L2","C2","00002",0,0,2,2
 3,"O1","L3","C3","00003",0,0,3,3
+4,"AU","OC","Melbourne","3095",1.0,1.0,4,4
+5,"US","NA","Mukilteo","98275",47.910000,-122.300000,819,5
index da06c58437f20c8e8d6d1ba21c3d786c7449f9c2..55667404dc832d3d6acfb5d5dd1f5056020a1515 100644 (file)
@@ -1,5 +1,12 @@
-AQAAIQAAIQAAAgAAIQAAAwAAIQAABAAAIQAABQAAIQAABgAAIQAABwAAIQAACAAACQAAIQAACgAA
-IQAACwAAIQAADAAAIQAADQAAIQAADgAAIQAADwAAIQAAEAAAIQAAEQAAIQAAEgAAIQAAEwAAIQAA
-FAAAIQAAFQAAIQAAFgAAIQAAFwAAIQAAGAAAIQAAGQAAIQAAGgAAIQAAGwAAIQAAHAAAIQAAHQAA
-IQAAHgAAIQAAHwAAIAAAIQAAIgAAOAAATgAAKvZMMQBDMQAwMDAwMQBAdxtAdxsAAAD2TDIAQzIA
-MDAwMDIAQHcbQHcbAAAA9kwzAEMzADAwMDAzAEB3G0B3GwAAAGNzdjJkYXQucHn///8CIQAA
+AQAAUwAAIQAAAgAAUwAAAwAAUwAABAAAUwAABQAAUwAABgAAUwAABwAAUwAACAAACQAAUwAACgAA
+UwAACwAAUwAADAAAUwAADQAAUwAADgAAUwAADwAAUwAAEAAAUwAAEQAAUwAAEgAAUwAAEwAAUwAA
+FAAAUwAAFQAAUwAAFgAAUwAAFwAAUwAAGAAAUwAAGQAAUwAAGgAAUwAAGwAAUwAAHAAAUwAAHQAA
+UwAAHgAAUwAAHwAAIAAAUwAAVAAAagAAgAAAIgAAUwAAIwAAUwAAJAAAUwAAJQAAUwAAJgAAUwAA
+UwAAJwAAKAAAUwAAKQAAUwAAKgAAUwAAKwAAUwAALAAAUwAALQAAUwAALgAAQAAAUwAALwAAMAAA
+UwAAMQAAUwAAMgAAUwAAMwAAUwAANAAAUwAANQAAUwAANgAANwAAUwAAlgAAOAAAUwAAOQAAUwAA
+OgAAUwAAOwAAUwAAPAAAUwAAPQAAUwAAPgAAUwAAPwAAUwAAlgAAUwAAQQAAUwAAQgAAUwAAQwAA
+UwAARAAAUwAARQAAUwAARgAAUwAARwAASQAAUwAASAAAUwAAsgAASgAAUwAASwAAUwAATAAAUwAA
+TQAAUwAATgAAUwAATwAAUwAAUAAAUwAAUQAAUwAAUgAAUwAAsgAAUwAAKvZMMQBDMQAwMDAwMQBA
+dxtAdxsAAAD2TDIAQzIAMDAwMDIAQHcbQHcbAAAA9kwzAEMzADAwMDAzAEB3G0B3GwAAABBPQwBN
+ZWxib3VybmUAMzA5NQBQnhtQnhsAAADhTkEATXVraWx0ZW8AOTgyNzUAvMYi6M0IPX8MY3N2MmRh
+dC5wef///wJTAAA=
index a5eeffe65f42cc620d9ca27df4222ee5bd8148df..74620be747d5e709fabb84e6d2f2587797033d6e 100644 (file)
@@ -1,14 +1,8 @@
 case $context in
        geoip|geoip-nsec3-narrow)
                set +e
-                if test "x$geoipregion" = "x"; then
-                        echo "This test suite requires that you provide geoipregion which defines the region name produced by MaxMind database with geoipregionip address."
-                        exit 1
-                fi
-                if test "x$geoipregionip" = "x"; then
-                        echo "This test suite requires that you have IP address bound to localhost interface and exported as variable geoipregionip"
-                        exit 1
-                fi
+               export geoipregion=${geoipregion:-oc}
+               export geoipregionip=${geoipregionip:-1.1.1.1}
                set -e
                 testsdir=../modules/geoipbackend/regression-tests/
                if test "$context" = "geoip-nsec3-narrow"; then
@@ -39,9 +33,9 @@ domains:
     c3.l3.o1.city.geo.example.com:
       - a: 127.0.3.1
     continent.geo.example.com:
-      - txt: Your continent is %cn
+      - txt: "Your continent is %cn"
     $geoipregion.service.geo.example.com:
-      - a: 62.236.200.4
+      - a: $geoipregionip
     unknown.service.geo.example.com:
       - a: 127.0.0.1
   services:
@@ -51,19 +45,19 @@ domains:
     city.geo.example.com: '%ci.%re.%cc.city.geo.example.com'
 EOF
                cat > $testsdir/region-a-resolution/expected_result <<EOF
-0      www.geo.example.com.    IN      A       30      62.236.200.4
-2      .       IN      OPT     0       AAgACAABIBgBAgME
+0      www.geo.example.com.    IN      A       30      $geoipregionip
+2      .       IN      OPT     0       AAgACAABIBgBAQEB
 Rcode: 0 (No Error), RD: 0, QR: 1, TC: 0, AA: 1, opcode: 0
 Reply to question for qname='www.geo.example.com.', qtype=A
 EOF
                 cat > $testsdir/region-cname-resolution/expected_result <<EOF
 0      indirect.geo.example.com.       IN      CNAME   30      $geoipregion.elsewhere.example.com.
-2      .       IN      OPT     0       AAgACAABIBgBAgME
+2      .       IN      OPT     0       AAgACAABIBgBAQEB
 Rcode: 0 (No Error), RD: 0, QR: 1, TC: 0, AA: 1, opcode: 0
 Reply to question for qname='indirect.geo.example.com.', qtype=A
 EOF
                 cat > $testsdir/text-interpolation/expected_result <<EOF
-0      continent.geo.example.com.      IN      TXT     30      "Your continent is $geoipregion"
+0      continent.geo.example.com.      IN      TXT     30      "Your continent is na"
 2      .       IN      OPT     0       AAgACAABIBgBAgME
 Rcode: 0 (No Error), RD: 0, QR: 1, TC: 0, AA: 1, opcode: 0
 Reply to question for qname='continent.geo.example.com.', qtype=TXT
@@ -73,7 +67,7 @@ EOF
 module-dir=./modules
 launch=geoip
 geoip-zones-file=$testsdir/geo.yaml
-geoip-database-files=/usr/share/GeoIP/GeoIP.dat
+geoip-database-files=$geoipdatabase
 EOF
 
                if [ "$geoipdosec" = "yes" ]
@@ -85,11 +79,13 @@ EOF
 
                base64 -d < $testsdir/GeoLiteCity.dat.b64 > $testsdir/GeoLiteCity.dat
 
+               geoipdatabase=${geoipdatabase:-$testsdir/GeoLiteCity.dat}
+
                $RUNWRAPPER $PDNS --daemon=no --local-address=$address --local-port=$port --socket-dir=./ \
                        --no-shuffle --launch=geoip \
                        --cache-ttl=$cachettl --dname-processing --no-config \
                        --distributor-threads=1 \
-                        --geoip-zones-file=$testsdir/geo.yaml --geoip-database-files="/usr/share/GeoIP/GeoIP.dat $testsdir/GeoLiteCity.dat" \
+                        --geoip-zones-file=$testsdir/geo.yaml --geoip-database-files="$geoipdatabase" \
                         --module-dir=./modules --edns-subnet-processing=yes \
                        $geoipkeydir &
                ;;