def test(testerParam=None):
    if testerParam == None:
        tester = sharedtools.FormalTester(
            "Ověření funkčnosti služby NearByAddresses")
    else:
        tester = testerParam
    tester.newSection(
        "Ověření funkčnosti služby NearByAddresses",
        """Tento test ověřuje funkčnost služby NearByAddresses, která umožňuje vyhledat adresní místa v okolí
zadaných souřadnic do určité vzdálenosti. Vrací záznamy databáze RÚIAN setříděné podle vzdálenosti od zadaných souřadnic.""",
        "Compiling person", "Tester")

    def addTest(path, expectedValue):
        try:
            result = urllib2.urlopen(sharedtools.SERVER_URL + path).read()
        except Exception as inst:
            result = str(inst)
        #result = result.strip()
        #result = urllib.quote(codecs.encode(result, "utf-8"))
        result = "\n".join(result.splitlines())
        tester.addTest(path, result, expectedValue, "")

    addTest("/NearbyAddresses/textToOneRow/655180/1030800/50",
            "č.p. 22, 50315 Pšánky")
    addTest("/NearbyAddresses/textToOneRow/625350/1025770/200",
            "č.p. 54, 55203 Říkov")
    addTest("/NearbyAddresses/textToOneRow/724948/1007742/65",
            "č.p. 42, 27735 Kanina\nč.p. 47, 27735 Kanina")
    addTest("/NearbyAddresses/textToOneRow/560670/1026662/80",
            "Kamenička č.ev. 31, 79069 Bílá Voda")
    addTest("/NearbyAddresses/textToOneRow/697180/1066880/120",
            "Červený Hrádek 44, 28504 Bečváry")

    addTest("/NearbyAddresses/text/655180/1030800/50", "č.p. 22\n50315 Pšánky")
    addTest("/NearbyAddresses/text/625350/1025770/200", "č.p. 54\n55203 Říkov")
    addTest("/NearbyAddresses/text/724948/1007742/65? ",
            "č.p. 42\n27735 Kanina\nč.p. 47\n27735 Kanina")
    addTest("/NearbyAddresses/text/560670/1026662/80",
            "Kamenička č.ev. 31\n79069 Bílá Voda")
    addTest("/NearbyAddresses/text/697180/1066880/120",
            "Červený Hrádek 44\n28504 Bečváry")

    addTest("/NearbyAddresses/text/a/1025770/200", "")
    addTest("/NearbyAddresses/text/625350/b/200", "")
    addTest("/NearbyAddresses/text/625350/1025770/c", "")
    addTest("/NearbyAddresses/text/a/b/c", "")
    addTest("/NearbyAddresses/text/a/b/200", "")
    addTest("/NearbyAddresses/text/625350/b/c", "")
    addTest("/NearbyAddresses/text/a/1025770/c", "")

    tester.closeSection()

    if testerParam == None:
        tester.saveToHTML("NearByAddresses.html")
Example #2
0
def test(testerParam = None):
    if testerParam == None:
        tester = sharedtools.FormalTester("Ověření funkčnosti služby Geocode")
    else:
        tester = testerParam
    tester.newSection("Ověření funkčnosti služby Geocode",
                """Tento test ověřuje funkčnost služby Geocode, která slouží získání souřadnic zadaného adresního místa.
                Adresní místo zadáme buď pomocí jeho identifikátoru RÚIAN nebo pomocí textového řetězce adresy..
                 Textový řetězec adresy může být nestandardně formátován nebo může být i neúplný.""",
                "Compiling person", "Tester")

    tester.loadAndAddTest("/Geocode/text?", "AddressPlaceId=1408739", "1033052.61, 766195.05")
    tester.loadAndAddTest("/Geocode/text?", "AddressPlaceId=20388802", "1056492.96, 529426.07")
    tester.loadAndAddTest("/Geocode/text?", "AddressPlaceId=8123934", "1098618.98, 568885.13")
    tester.loadAndAddTest("/Geocode/text?", "AddressPlaceId=8150656", "1086263.12, 572291.20")
    tester.loadAndAddTest("/Geocode/text?", "AddressPlaceId=140k", "")
 
    
    tester.loadAndAddTest("/Geocode/text?", "SearchText=Blahoslavova%201710,%20Louny", "1007250.67, 781971.94")
    tester.loadAndAddTest("/Geocode/text?", "SearchText=U%20Kam,%20Vys", "1051222.31, 759801.78\n1051248.61, 759804.26\n1051154.97, 759793.10")

    tester.loadAndAddTest("/Geocode/text?", "SearchText=Mramorov%C3%A1,%20Tet%C3%ADn", "1055481.79, 767602.15\n1055502.63, 767570.69\n1055447.02, 767576.82")
    tester.loadAndAddTest("/Geocode/text?", "SearchText=12", "")
    
    
    tester.loadAndAddTest("/Geocode/text?", "Street=Hromadova&Locality=Kladno&HouseNumber=2741&ZIPCode=27201&LocalityPart=Kladno", "1033052.61, 766195.05")
    tester.loadAndAddTest("/Geocode/text?", "Street=Mari%C3%A1nsk%C3%A1&Locality=Su%C5%A1ice&HouseNumber=67&ZIPCode=34201&LocalityPart=Su%C5%A1ice%20III", "1128217.51, 820609.28")
    tester.loadAndAddTest("/Geocode/text?", "Street=Dlouh%C3%A1&Locality=Terez%C3%ADn&HouseNumber=22&ZIPCode=41155&LocalityPart=Terez%C3%ADn", "993630.00, 755650.00")
    tester.loadAndAddTest("/Geocode/text?", "Street=Osadn%C3%AD&Locality=Rumburk&HouseNumber=1456&ZIPCode=40801&LocalityPart=Rumburk%201&OrientationNumber=12", "947618.24, 719309.30")
    
    tester.loadAndAddTest("/Geocode/text?", "HouseNumber=980f", "")
    tester.loadAndAddTest("/Geocode/text?", "HouseNumber=f", "")
    
    tester.loadAndAddTest("/Geocode/text?", "ZIPCode=14000a", "")
    tester.loadAndAddTest("/Geocode/text?", "ZIPCode=a", "")
    
    tester.loadAndAddTest("/Geocode/text?", "OrientationNumber=12a", "")
    tester.loadAndAddTest("/Geocode/text?", "OrientationNumber=a", "")
    
    tester.loadAndAddTest("/Geocode/text?", "RecordNumber=14d", "")
    tester.loadAndAddTest("/Geocode/text?", "RecordNumber=d", "")
    
    tester.loadAndAddTest("/Geocode/text?", "", "")
    
    
    
    tester.closeSection()

    if testerParam == None:
        tester.saveToHTML("Geocode.html")
def test(testerParam=None):
    if testerParam == None:
        tester = sharedtools.FormalTester(
            "Ověření funkčnosti služby ValidateAddressID")
    else:
        tester = testerParam

    tester.newSection(
        "Ověření funkčnosti služby ValidateAddressID",
        """Tento test ověřuje funkčnost služby ValidateAddressID, která ověřuje existenci zadaného identifikátoru adresy RÚIAN v databázi.""",
        "Compiling person", "Tester")

    def addTest(path, expectedValue):
        try:
            result = urllib2.urlopen(sharedtools.SERVER_URL + path).read()
        except Exception as inst:
            result = str(inst)
        #result = result.strip()
        result = urllib.quote(codecs.encode(result, "utf-8"))
        tester.addTest(path, result, expectedValue, "")

    addTest("/ValidateAddressId/txt?AddressPlaceId=1408739", "True")
    addTest("/ValidateAddressId/txt?AddressPlaceId=18480", "False")

    addTest("/ValidateAddressId/txt?AddressPlaceId=1498011", "True")
    addTest("/ValidateAddressId/txt?AddressPlaceId=40094944", "True")
    addTest("/ValidateAddressId/txt?AddressPlaceId=11505095", "True")
    addTest("/ValidateAddressId/txt?AddressPlaceId=1550080", "True")
    addTest("/ValidateAddressId/txt?AddressPlaceId=11390808", "True")
    addTest("/ValidateAddressId/txt?AddressPlaceId=150", "False")
    addTest("/ValidateAddressId/txt?AddressPlaceId=6084810", "False")
    addTest("/ValidateAddressId/txt?AddressPlaceId=18753880", "False")

    addTest("/ValidateAddressId/txt?AddressPlaceId=12j", "False")
    addTest("/ValidateAddressId/txt?AddressPlaceId=k", "False")

    tester.closeSection()

    if testerParam == None:
        tester.saveToHTML("ValidateAddressID.html")
Example #4
0
# -*- coding: utf-8 -*-
__author__ = 'Augustyn'

import sharedtools
import compileaddress
import fulltextsearch
import geocode
import nearbyaddresses
import validate
import validateaddressid

if __name__ == '__main__':
    sharedtools.setupUTF()

    tester = sharedtools.FormalTester("Všechny testy")

    compileaddress.test(tester)
    fulltextsearch.test(tester)
    geocode.test(tester)
    nearbyaddresses.test(tester)
    validate.test(tester)
    validateaddressid.test(tester)

    tester.saveToHTML("TestResults.html")

    compileaddress.test()
    fulltextsearch.test()
    geocode.test()
    nearbyaddresses.test()
    validate.test()
    validateaddressid.test()
Example #5
0
 def addTestFullText(testerParam=None):
     if testerParam == None:
         tester = sharedtools.FormalTester(
             "Ověření funkčnosti služby FullTextSearch")
     else:
         tester = testerParam
Example #6
0
def test(testerParam=None):
    if testerParam == None:
        tester = sharedtools.FormalTester(
            "Ověření funkčnosti služby CompileAddress")
    else:
        tester = testerParam
    tester.newSection(
        "Ověření funkčnosti služby CompileAddress", """
Tento test ověřuje sestavení zápisu adresy ve standardizovaném tvaru podle § 6 vyhlášky č. 359/2011 Sb.,
kterou se provádí zákon č. 111/2009 Sb., o základních registrech, ve znění zákona č. 100/2010 Sb.
Adresní místo lze zadat buď pomocí jeho identifikátoru RÚIAN, textového řetězce adresy nebo jednotlivých prvků adresy.
                """, "Compiling person", "Tester")

    def addTest(street, houseNumber, recordNumber, orientationNumber,
                orientationNumberCharacter, zipCode, locality, localityPart,
                districtNumber, expectedValue):
        params = buildParamString(street, houseNumber, recordNumber,
                                  orientationNumber,
                                  orientationNumberCharacter, zipCode,
                                  locality, localityPart, districtNumber)
        try:
            result = urllib2.urlopen(sharedtools.SERVER_URL + params).read()
            result = "\n".join(result.splitlines())
        except Exception as inst:
            result = str(inst)
        #result = "aaa" #result.decode("utf-8")
        #expectedValue = "ev"
        params = params.decode("utf-8")
        #expectedValue = expectedValue.decode("utf-8")
        tester.addTest(params, result, expectedValue, "")

    def addTestByID(path, expectedValue):
        try:
            result = urllib2.urlopen(sharedtools.SERVER_URL + path).read()
        except Exception as inst:
            result = str(inst)
        #result = result.strip()
        result = "\n".join(result.splitlines())
        #result = urllib.quote(codecs.encode(result, "utf-8"))
        tester.addTest(path, result, expectedValue, "")

    def addTestFullText(testerParam=None):
        if testerParam == None:
            tester = sharedtools.FormalTester(
                "Ověření funkčnosti služby FullTextSearch")
        else:
            tester = testerParam

    tester.loadAndAddTest(
        "/CompileAddress/text/?", "SearchText=Mramor,%20Tet%C3%ADn",
        "Mramorová 234\n26601 Tetín\nMramorová 243\n26601 Tetín\nMramorová 236\n26601 Tetín"
    )
    tester.loadAndAddTest("/CompileAddress/text/?", "SearchText=12", "")

    addTestByID("/CompileAddress/text?AddressPlaceId=41326474",
                u"U Kamene 181\n26716 Vysoký Újezd")
    addTestByID("/CompileAddress/text?AddressPlaceId=21907145",
                u"Na lánech 598/13\nMichle\n14100 Praha 4")
    addTestByID("/CompileAddress/text?AddressPlaceId=25021478",
                u"Lesní 345/5\n35301 Mariánské Lázně")
    addTestByID("/CompileAddress/text?AddressPlaceId=16512171",
                u"Pašinovice 8\n37401 Komařice")
    addTestByID("/CompileAddress/text?AddressPlaceId=165k",
                u"")  #ošetření chyby - zadání omylem znaku do identifikátoru
    addTestByID("/CompileAddress/text?AddressPlaceId=12",
                u"")  #ošetření chyby - zadání identifikátoru, který není v DB

    addTest(u"Arnošta Valenty", u"670", u"", u"31", u"", u"19800", u"Praha",
            u"Černý Most", u"9",
            u"Arnošta Valenty 670/31\nČerný Most\n19800 Praha 9")
    addTest(u"Arnošta Valenty", u"670", u"", u"", u"", u"198 00", u"Praha",
            u"Černý Most", u"9",
            u"Arnošta Valenty 670\nČerný Most\n19800 Praha 9")
    addTest(u"Medová", u"", u"30", u"", u"", u"10400", u"Praha", u"Křeslice",
            u"10", u"Medová č.ev. 30\nKřeslice\n10400 Praha 10")
    addTest(u"", u"", u"42", u"", u"", u"10400", u"Praha", u"Křeslice", u"10",
            u"Křeslice č.ev. 42\n10400 Praha 10")
    addTest(u"Lhenická", u"1120", u"", u"1", u"", u"37005",
            u"České Budějovice", u"České Budějovice 2", u"",
            u"Lhenická 1120/1\nČeské Budějovice 2\n37005 České Budějovice")
    addTest(u"Holická", u"568", u"", u"31", u"y", u"779 00", u"Olomouc",
            u"Hodolany", u"", u"Holická 568/31y\nHodolany\n77900 Olomouc")
    addTest(u"Na Herinkách", u"85", u"", u"", u"", u"26601", u"Beroun",
            u"Beroun-Závodí", u"",
            u"Na Herinkách 85\nBeroun-Závodí\n26601 Beroun")
    addTest(u"Na Herinkách", u"", u"97", u"", u"", u"26601", u"Beroun",
            u"Beroun-Závodí", u"",
            u"Na Herinkách č.ev. 97\nBeroun-Závodí\n26601 Beroun")
    addTest(u"Žamberecká", u"339", u"", u"", u"", u"51601", u"Vamberk",
            u"Vamberk", u"", u"Žamberecká 339\n51601 Vamberk")
    addTest(u"Žamberecká", u"339", u"", u"1", u"", u"51601", u"Vamberk",
            u"Vamberk", u"", u"Žamberecká 339/1\n51601 Vamberk")
    addTest(u"Lidická", u"2858", u"", u"49", u"F", u"78701", u"Šumperk",
            u"Šumperk", u"", u"Lidická 2858/49F\n78701 Šumperk")
    addTest(u"Žamberecká", u"", u"21", u"", u"", u"51601", u"Vamberk",
            u"Vamberk", u"", u"Žamberecká č.ev. 21\n51601 Vamberk")
    addTest(u"", u"106", u"", u"", u"", u"53333", u"Pardubice", u"Dražkovice",
            u"", u"Dražkovice 106\n53333 Pardubice")
    addTest(u"", u"", u'32', u'', u"", u"53333", u"Pardubice", u"Dražkovice",
            u"", u"Dražkovice č.ev. 32\n53333 Pardubice")
    addTest(u"", u"111", u"", u"", u"", u"50333", u"Praskačka", u"Praskačka",
            u"", u"č.p. 111\n50333 Praskačka")
    addTest(u"", u"", u"86", u"", u"", u"53943", u"Krouna", u"Krouna", u"",
            u"č.ev. 86\n53943 Krouna")
    tester.closeSection()

    if testerParam == None:
        tester.saveToHTML("CompileAddress.html")
Example #7
0
def test(testerParam=None):
    if testerParam == None:
        tester = sharedtools.FormalTester()
    else:
        tester = testerParam

    tester.newSection(
        "Ověření funkčnosti služby Validate",
        """Tento test ověřuje funkčnost služby Validate, která slouží k ověření zadané adresy.
                Adresa je zadána pomocí jednotlivých prvků adresního místa.""",
        "Compiling person", "Tester")

    def addTest(path, params, expectedValue):
        paramsList = params.split("&")
        query = []
        if paramsList != [""]:
            for param in paramsList:
                v = param.split("=")
                query.append(v[0] + "=" +
                             urllib.quote(codecs.encode(v[1], "utf-8")))
            params = "&".join(query)
        else:
            params = ""

        params = path + params
        try:
            result = urllib2.urlopen(sharedtools.SERVER_URL + params).read()
        except Exception as inst:
            result = str(inst)
        #result = result.strip()
        result = urllib.quote(codecs.encode(result, "utf-8"))
        params = params.decode("utf-8")
        tester.addTest(params, result, expectedValue, "")

    addTest("/Validate/text?", "Street=Severní", "False")
    addTest("/Validate/text?", "Street=Severní&HouseNumber=507", "False")
    addTest("/Validate/text?",
            "Street=Severní&Locality=Kladno&HouseNumber=507", "False")
    addTest("/Validate/text?", "Street=Severn%C3%AD&RecordNumber=25", "False")
    addTest("/Validate/text?",
            "Street=Fillova&HouseNumber=980&OrientationNumber=5", "False")

    addTest(
        "/Validate/text?",
        "Street=Severní&Locality=Kladno&HouseNumber=507&ZIPCode=27204&LocalityPart=Kladno",
        "True")
    addTest(
        "/Validate/text?",
        "Street=Severní&Locality=Kladno&HouseNumber=507&ZIPCode=27206&LocalityPart=Kladno",
        "False")
    addTest(
        "/Validate/text?",
        "Street=Žižkova&Locality=Jirkov&ZIPCode=43111&LocalityPart=Jirkov&RecordNumber=263",
        "True")
    addTest(
        "/Validate/text?",
        "Street=Rodinná&Locality=Havířov&HouseNumber=1003&ZIPCode=73601&LocalityPart=Bludovice&OrientationNumber=25",
        "True")
    addTest(
        "/Validate/text?",
        "Street=U%20Jeslí&Locality=Broumov&HouseNumber=222&ZIPCode=55001&LocalityPart=Nové%20Město",
        "True")
    addTest(
        "/Validate/text?",
        "Street=Žižkova&Locality=Jirkov&ZIPCode=43111&LocalityPart=Jirkov&RecordNumber=273",
        "False")
    addTest(
        "/Validate/text?",
        "Street=Rodinná&Locality=Havířov&HouseNumber=1027&ZIPCode=73601&LocalityPart=Bludovice",
        "False")
    addTest(
        "/Validate/text?",
        "Street=U%20Jeslí&Locality=Broumov&HouseNumber=226&ZIPCode=55001&LocalityPart=Nové%20Město",
        "False")

    addTest("/Validate/text?", "HouseNumber=507a", "False")
    addTest("/Validate/text?", "RecordNumber=145s", "False")
    addTest("/Validate/text?", "OrientationNumber=12a", "False")
    addTest("/Validate/text?", "ZIPCode=27206r", "False")
    addTest("/Validate/text?", "", "False")

    tester.closeSection()

    if testerParam == None:
        tester.saveToHTML("Validate.html")
Example #8
0
def test(testerParam=None):
    if testerParam == None:
        tester = sharedtools.FormalTester(
            "Ověření funkčnosti služby FullTextSearch")
    else:
        tester = testerParam

    tester.newSection(
        "Ověření funkčnosti služby FullTextSearch",
        """Tento test ověřuje funkčnost služby FullTextSearch, která slouží k nalezení a zobrazení seznamu
                 pravděpodobných adres na základě textového řetězce adresy.
                 Textový řetězec adresy může být nestandardně formátován nebo může být i neúplný.""",
        "Compiling person", "Tester")

    tester.loadAndAddTest("/FullTextSearch/text/?",
                          "SearchText=12&ExtraInformation=id", "")
    tester.loadAndAddTest("/FullTextSearch/text/?",
                          "SearchText=&ExtraInformation=id", "")
    tester.loadAndAddTest(
        "/FullTextSearch/textToOneRow/?",
        "SearchText=V%20Hlink%C3%A1ch,%20Vys&ExtraInformation=id",
        "72405651, V Hlinkách 265, 26716 Vysoký Újezd\n41446593, V Hlinkách 269, 26716 Vysoký Újezd\n42535581, V Hlinkách 274, 26716 Vysoký Újezd\n40973298, V Hlinkách 261, 26716 Vysoký Újezd\n41447018, V Hlinkách 268, 26716 Vysoký Újezd"
    )
    tester.loadAndAddTest(
        "/FullTextSearch/textToOneRow/?",
        "SearchText=U%20Kam,%20Vys&ExtraInformation=id",
        "41326474, U Kamene 181, 26716 Vysoký Újezd\n42616123, U Kamene 182, 26716 Vysoký Újezd\n73185396, U Kamene 180, 26716 Vysoký Újezd"
    )
    tester.loadAndAddTest(
        "/FullTextSearch/textToOneRow/?",
        "SearchText=Mramor,%20Tet%C3%ADn&ExtraInformation=id",
        "1521209, Mramorová 234, 26601 Tetín\n1521292, Mramorová 243, 26601 Tetín\n1521225, Mramorová 236, 26601 Tetín"
    )
    tester.loadAndAddTest(
        "/FullTextSearch/textToOneRow/?",
        "SearchText=Fill,%20Praha&ExtraInformation=id",
        "21867178, Fillova 990/1, Krč, 14000 Praha 4\n21867054, Fillova 980/5, Krč, 14000 Praha 4\n21868107, Fillova 1084/11, Krč, 14000 Praha 4\n21867038, Fillova 979/7, Krč, 14000 Praha 4\n21867160, Fillova 989/3, Krč, 14000 Praha 4"
    )

    tester.loadAndAddTest(
        "/FullTextSearch/text/?",
        "SearchText=V%20Hlink%C3%A1ch,%20Vys&ExtraInformation=id",
        "72405651\nV Hlinkách 265\n26716 Vysoký Újezd\n41446593\nV Hlinkách 269\n26716 Vysoký Újezd\n42535581\nV Hlinkách 274\n26716 Vysoký Újezd\n40973298\nV Hlinkách 261\n26716 Vysoký Újezd\n41447018\nV Hlinkách 268\n26716 Vysoký Újezd"
    )
    tester.loadAndAddTest(
        "/FullTextSearch/text/?",
        "SearchText=U%20Kam,%20Vys&ExtraInformation=id",
        "41326474\nU Kamene 181\n26716 Vysoký Újezd\n42616123\nU Kamene 182\n26716 Vysoký Újezd\n73185396\nU Kamene 180\n26716 Vysoký Újezd"
    )
    tester.loadAndAddTest(
        "/FullTextSearch/text/?",
        "SearchText=Mramor,%20Tet%C3%ADn&ExtraInformation=id",
        "1521209\nMramorová 234\n26601 Tetín\n1521292\nMramorová 243\n26601 Tetín\n1521225\nMramorová 236\n26601 Tetín"
    )
    tester.loadAndAddTest(
        "/FullTextSearch/text/?",
        "SearchText=Fill,%20Praha&ExtraInformation=id",
        "21867178\nFillova 990/1\nKrč\n14000 Praha 4\n21867054\nFillova 980/5\nKrč\n14000 Praha 4\n21868107\nFillova 1084/11\nKrč\n14000 Praha 4\n21867038\nFillova 979/7\nKrč\n14000 Praha 4\n21867160\nFillova 989/3\nKrč\n14000 Praha 4"
    )

    tester.closeSection()

    if testerParam == None:
        tester.saveToHTML("FulltextSearch.html")