def test_extract_claim_1(self):
        with Session() as session:
            urls = [
                "https://www.spiegel.de/wissenschaft/mensch/corona-krise-und-klimawandel-fuenf-desinformations-tricks-die-jeder-kennen-sollte-a-6892ff9b-fb28-43ae-8438-55b49d607e57?sara_ecid=soci_upd_wbMbjhOSvViISjc8RPU89NcCvtlFcJ"
            ]
            item = create_item_with_urls(session, urls)

            event = {
                "item": {
                    "content":
                    "Wollen wir auch einen Channel für solche Themen anlegen?"
                    "https://www.spiegel.de/wissenschaft/mensch/corona-krise-und-klimawandel-fuenf"
                    "-desinformations-tricks-die-jeder-kennen-sollte-a-6892ff9b-fb28-43ae-8438-55b49d607e57"
                    "?sara_ecid=soci_upd_wbMbjhOSvViISjc8RPU89NcCvtlFcJ",
                    "id":
                    item.id,
                    "language":
                    ""
                }
            }

            resp = ExtractClaim.extract_claim(event, "")
            text_0 = "Wollen wir auch einen Channel für solche Themen anlegen?"
            title = "Corona-Krise und Klimawandel: Fünf Desinformations-Tricks, die jeder kennen sollte " \
                "- DER SPIEGEL "
            assert resp["title"] == title
            assert resp["concatenation"]["Text"] == text_0 + '\n' + title
    def test_extract_claim_1(self):
        event = {
            "item": {
                "content": "Wollen wir auch einen Channel für solche Themen anlegen?"
                           "https://www.spiegel.de/wissenschaft/mensch/corona-krise-und-klimawandel-fuenf"
                           "-desinformations-tricks-die-jeder-kennen-sollte-a-6892ff9b-fb28-43ae-8438-55b49d607e57"
                           "?sara_ecid=soci_upd_wbMbjhOSvViISjc8RPU89NcCvtlFcJ",
                "id": "123456",
                "language": ""
            }
        }
        context = ""
        resp = ExtractClaim.extract_claim(event, context)

        text_0 = "Wollen wir auch einen Channel für solche Themen anlegen?"
        titel = "Corona-Krise und Klimawandel: Fünf Desinformations-Tricks, die jeder kennen sollte " \
            "- DER SPIEGEL "
        # assert resp["urls"][0] == ""
        # assert resp["titles"][0] == ""
        # assert resp["text"][0] == text_0
        assert resp["urls"][0] == "https://www.spiegel.de/wissenschaft/mensch/corona-krise-und-klimawandel-fuenf" \
                                  "-desinformations-tricks-die-jeder-kennen-sollte-a-6892ff9b-fb28-43ae-8438-55b49d607e57" \
                                  "?sara_ecid=soci_upd_wbMbjhOSvViISjc8RPU89NcCvtlFcJ"
        assert resp["title"] == titel
        # assert resp["text"][0] == text_1
        assert resp["concatenation"]["Text"] == text_0 + ' \n' + titel
 def test_extract_claim_11(self):
     event = {
         "item": {
             "content": "https://2020news.de/italien-studie-belegt-stark-erhoehten-co2-wert-unter-der-maske/",
             "id": "123456",
             "language": ""
         }
     }
     context = ""
     resp = ExtractClaim.extract_claim(event, context)
     assert resp["concatenation"]["Text"] == ' \nItalien: Studie belegt stark erhöhten CO2-Wert unter der Maske - 2020 NEWS '
 def test_extract_claim_10(self):
     event = {
         "item": {
             "content": "https://unser-mitteleuropa.com/lauterbach-nach-tod-von-32-jaehriger-impftote-fuer-impferfolg-muesse-man-hinnehmen/",
             "id": "123456",
             "language": ""
         }
     }
     context = ""
     resp = ExtractClaim.extract_claim(event, context)
     assert resp["concatenation"]["Text"] == ' \nLauterbach nach Tod von 32-Jähriger: Impftote für Impferfolg müsse man hinnehmen | UNSER MITTELEUROPA '
 def test_extract_claim_7(self):
     event = {
         "item": {
             "content": "https://de.rt.com/inland/110251-baden-wurttemberg-zwangseinweisung-fur-hartnackige/",
             "id": "123456",
             "language": ""
         }
     }
     context = ""
     resp = ExtractClaim.extract_claim(event, context)
     assert resp["concatenation"]["Text"] == ' \nBaden-Württemberg: Zwangseinweisung für "hartnäckige Quarantäneverweigerer" beschlossen — RT DE '
 def test_extract_claim_8(self):
     event = {
         "item": {
             "content": "https://www.wochenblick.at/trauriger-rekord-bei-toten-nach-impfung-so-viele-waren-es-noch-nie/",
             "id": "123456",
             "language": ""
         }
     }
     context = ""
     resp = ExtractClaim.extract_claim(event, context)
     assert resp["concatenation"]["Text"] == ' \nTrauriger Rekord bei Toten nach Impfung – so viele waren es noch nie! '
 def test_extract_claim_9(self):
     event = {
         "item": {
             "content": "https://2020news.de/erschreckende-statistik-impfnebenwirkungen-jetzt-amtlich/",
             "id": "123456",
             "language": ""
         }
     }
     context = ""
     resp = ExtractClaim.extract_claim(event, context)
     assert resp["concatenation"]["Text"] == ' \nErschreckende Statistik - Impfnebenwirkungen jetzt amtlich - 2020 NEWS '
 def test_extract_claim_6(self):
     event = {
         "item": {
             "content": "https://kopp-report.de/helios-kliniken-veroeffentlichen-corona-fakten-keine-pandemie-von-nationaler-tragweite/?fbclid=IwAR1fMRjkKXXYQUiNxYrgYczcffvNZbW-F3z8Q4f4Ar00caSNO1KjFtyJrG4",
             "id": "123456",
             "language": ""
         }
     }
     context = ""
     resp = ExtractClaim.extract_claim(event, context)
     assert resp["concatenation"]["Text"] == ' \nHelios-Kliniken veröffentlichen Corona-Fakten: Keine Pandemie von nationaler Tragweite? - Kopp Report '
 def test_extract_claim_5(self):
     event = {
         "item": {
             "content": "https://www.facebook.com/permalink.php?story_fbid=1268489640219684&id=100011759814614",
             "id": "123456",
             "language": ""
         }
     }
     context = ""
     resp = ExtractClaim.extract_claim(event, context)
     assert resp["concatenation"]["Text"] == ' \nTyrac Dracun - 💢  Aufgedeckt: Einführung von Impfpässen... | Facebook '
 def test_extract_claim_4(self):
     event = {
         "item": {
             "content": "http://127.0.0.1/utes-moma-127-8-altmaier-will-haertere-strafen-bei-verstoessen-gegen-die"
                        "-corona-regeln/",
             "id": "123456",
             "language": ""
         }
     }
     context = ""
     resp = ExtractClaim.extract_claim(event, context)
     assert resp["concatenation"]["Text"] == ' '
 def test_extract_claim_2(self):
     event = {
         "item": {
             "content": "Stimmt das? "
                        "www.compact-online.de/utes-moma-2-8-altmaier-will-haertere-strafen-bei-verstoessen-gegen"
                        "-die-corona-regeln",
             "id": "123456",
             "language": ""
         }
     }
     context = ""
     resp = ExtractClaim.extract_claim(event, context)
     assert resp["urls"] == []
    def test_extract_claim_without_url(self):
        with Session() as session:
            urls = []
            item = create_item_with_urls(session, urls)

            event = {
                "item": {
                    "content": "Einfach nur Text ohne eine URL",
                    "id": item.id,
                    "language": ""
                }
            }
            resp = ExtractClaim.extract_claim(event, "")
            text_0 = "Einfach nur Text ohne eine URL"
            assert resp["title"] == ""
            assert resp["concatenation"]["Text"] == text_0
    def test_extract_claim_4(self):
        with Session() as session:
            urls = [
                "https://www.facebook.com/permalink.php?story_fbid=1268489640219684&id=100011759814614"
            ]
            item = create_item_with_urls(session, urls)

            event = {
                "item": {
                    "content":
                    "https://www.facebook.com/permalink.php?story_fbid=1268489640219684&id=100011759814614",
                    "id": item.id,
                    "language": ""
                }
            }
            resp = ExtractClaim.extract_claim(event, "")
            assert resp["concatenation"][
                "Text"] == '\nTyrac Dracun - 💢  Aufgedeckt: Einführung von Impfpässen... | Facebook '
    def test_extract_claim_10(self):
        with Session() as session:
            urls = [
                "https://2020news.de/italien-studie-belegt-stark-erhoehten-co2-wert-unter-der-maske/"
            ]
            item = create_item_with_urls(session, urls)

            event = {
                "item": {
                    "content":
                    "https://2020news.de/italien-studie-belegt-stark-erhoehten-co2-wert-unter-der-maske/",
                    "id": item.id,
                    "language": ""
                }
            }
            resp = ExtractClaim.extract_claim(event, "")
            assert resp["concatenation"][
                "Text"] == '\nItalien: Studie belegt stark erhöhten CO2-Wert unter der Maske - 2020 NEWS '
    def test_extract_claim_9(self):
        with Session() as session:
            urls = [
                "https://unser-mitteleuropa.com/lauterbach-nach-tod-von-32-jaehriger-impftote-fuer-impferfolg-muesse-man-hinnehmen/"
            ]
            item = create_item_with_urls(session, urls)

            event = {
                "item": {
                    "content":
                    "https://unser-mitteleuropa.com/lauterbach-nach-tod-von-32-jaehriger-impftote-fuer-impferfolg-muesse-man-hinnehmen/",
                    "id": item.id,
                    "language": ""
                }
            }
            resp = ExtractClaim.extract_claim(event, "")
            assert resp["concatenation"][
                "Text"] == '\nLauterbach nach Tod von 32-Jähriger: Impftote für Impferfolg müsse man hinnehmen | UNSER MITTELEUROPA '
    def test_extract_claim_8(self):
        with Session() as session:
            urls = [
                "https://2020news.de/erschreckende-statistik-impfnebenwirkungen-jetzt-amtlich/"
            ]
            item = create_item_with_urls(session, urls)

            event = {
                "item": {
                    "content":
                    "https://2020news.de/erschreckende-statistik-impfnebenwirkungen-jetzt-amtlich/",
                    "id": item.id,
                    "language": ""
                }
            }
            resp = ExtractClaim.extract_claim(event, "")
            assert resp["concatenation"][
                "Text"] == '\nErschreckende Statistik - Impfnebenwirkungen jetzt amtlich - 2020 NEWS '
    def test_extract_claim_7(self):
        with Session() as session:
            urls = [
                "https://www.wochenblick.at/trauriger-rekord-bei-toten-nach-impfung-so-viele-waren-es-noch-nie/"
            ]
            item = create_item_with_urls(session, urls)

            event = {
                "item": {
                    "content":
                    "https://www.wochenblick.at/trauriger-rekord-bei-toten-nach-impfung-so-viele-waren-es-noch-nie/",
                    "id": item.id,
                    "language": ""
                }
            }
            resp = ExtractClaim.extract_claim(event, "")
            assert resp["concatenation"][
                "Text"] == '\nTrauriger Rekord bei Toten nach Impfung – so viele waren es noch nie! '
    def test_extract_claim_6(self):
        with Session() as session:
            urls = [
                "https://de.rt.com/inland/110251-baden-wurttemberg-zwangseinweisung-fur-hartnackige/"
            ]
            item = create_item_with_urls(session, urls)

            event = {
                "item": {
                    "content":
                    "https://de.rt.com/inland/110251-baden-wurttemberg-zwangseinweisung-fur-hartnackige/",
                    "id": item.id,
                    "language": ""
                }
            }
            resp = ExtractClaim.extract_claim(event, "")
            assert resp["concatenation"][
                "Text"] == '\nBaden-Württemberg: Zwangseinweisung für "hartnäckige Quarantäneverweigerer" beschlossen — RT DE '
    def test_extract_claim_5(self):
        with Session() as session:
            urls = [
                "https://kopp-report.de/helios-kliniken-veroeffentlichen-corona-fakten-keine-pandemie-von-nationaler-tragweite/?fbclid=IwAR1fMRjkKXXYQUiNxYrgYczcffvNZbW-F3z8Q4f4Ar00caSNO1KjFtyJrG4"
            ]
            item = create_item_with_urls(session, urls)

            event = {
                "item": {
                    "content":
                    "https://kopp-report.de/helios-kliniken-veroeffentlichen-corona-fakten-keine-pandemie-von-nationaler-tragweite/?fbclid=IwAR1fMRjkKXXYQUiNxYrgYczcffvNZbW-F3z8Q4f4Ar00caSNO1KjFtyJrG4",
                    "id": item.id,
                    "language": ""
                }
            }
            resp = ExtractClaim.extract_claim(event, "")
            assert resp["concatenation"][
                "Text"] == '\nHelios-Kliniken veröffentlichen Corona-Fakten: Keine Pandemie von nationaler Tragweite? - Kopp Report '
    def test_DocSim_vs_RegExp(self, monkeypatch):
        monkeypatch.setenv("DBNAME", "Test")
        os.environ["STAGE"] = "dev"

        session = get_db_session(True, None)

        claim_factcheck_dicts = [
            {
                "claim": "https://www.facebook.com/DieSteffi82/posts/5064896943550398",
                "factcheck": "https://correctiv.org/faktencheck/2020/12/23/nein-abstrichstaebchen-von-corona-schnelltests-sind-nicht-verseucht/",
                "stepfunction": {}
            },
            {
                # nicht extrahierbar
                "claim": "In Ägypten war das eine Strafe für Slaves... Breche die Drüse der Blutenzephalitis: https://www.facebook.com/photo.php?fbid=3591706030868619&set=a.368339826538605&type=3",
                "factcheck": "https://correctiv.org/faktencheck/2020/12/23/nein-nasenabstriche-fuer-einen-corona-test-gleichen-nicht-einer-strafe-fuer-sklaven-im-alten-aegypten/",
                "stepfunction": {}
            },
            {
                # twitter benötigt eine andere extraktionsmethode
                "claim": "An der Universität Cambridge wurden alle 9000 Studenten mit PCR getestet. Alle Tests stellten sich im nach hinein als falsch positiv heraus - 100% falsche Ergebnisse und auf diesem Test beruhen, Foderungen  und Massnahmen. Es reicht jetzt wirklich.: https://twitter.com/LuanaNussbaum/status/1336956296017350657?s=20",
                "factcheck": "https://correctiv.org/faktencheck/2020/12/23/nein-an-der-universitaet-cambridge-wurden-nicht-9-000-studierende-falsch-positiv-auf-corona-getestet/",
                "stepfunction": {}
            },
            {
                "claim": "https://www.facebook.com/Silberjungede-Wir-wollen-Augen-öffnen-Thorsten-Schulte-155330287422/videos/381310726307004/",
                "factcheck": "https://correctiv.org/faktencheck/2020/12/22/dauer-lockdown-angela-merkels-aussage-wird-irrefuehrend-interpretiert/",
                "stepfunction": {}
            },
            {
                "claim": "https://www.facebook.com/svensworld000/videos/2792271450987454/",
                "factcheck": "https://correctiv.org/faktencheck/2020/12/21/video-keine-belege-dass-ein-corona-schnelltest-positiv-auf-fruchtsaft-reagierte/",
                "stepfunction": {}
            },
            {
                "claim": "https://corona-transition.org/rki-bestatigt-covid-19-sterblichkeitsrate-von-0-01-prozent-in" \
                    "-deutschland?fbclid=IwAR2vLIkW_3EejFaeC5_wC_410uKhN_WMpWDMAcI-dF9TTsZ43MwaHeSl4n8%22 ",
                "factcheck": "https://correctiv.org/faktencheck/2020/07/09/nein-rki-bestaetigt-nicht-eine-covid-19-sterblichkeitsrate-von-001-prozent-in-deutschland/",
                "stepfunction": {}
            },
            {
                "claim": "https://kopp-report.de/helios-kliniken-veroeffentlichen-corona-fakten-keine-pandemie-von-nationaler-tragweite/?fbclid=IwAR1fMRjkKXXYQUiNxYrgYczcffvNZbW-F3z8Q4f4Ar00caSNO1KjFtyJrG4",
                "factcheck": "https://correctiv.org/faktencheck/medizin-und-gesundheit/2020/11/06/corona-zahlen-ueber-patienten-auf-intensivstationen-in-helios-kliniken-werden-irrefuehrend-verbreitet/",
                "stepfunction": {}
            },
            {
                "claim": "Manche Corona-Tests brauchen keine externe Qualitätskontrolle",
                "factcheck": "https://www.br.de/nachrichten/wissen/warum-viele-corona-tests-noch-keine-qualitaetskontrolle-brauchen,SI1KrNC",
                "stepfunction": {}
            },
#            {
#                "claim": "https://viralvirus.de/politik/obama-finanzierte-labor-in-wuhan/?fbclid=IwAR3qOdSnC-A7h6wvPQcOFmuFPgLGNOImn_Ee6_vjAGeAmVJ9MVZnoNeFMBk",
#                "factcheck": "https://correctiv.org/faktencheck/2020/07/21/nein-die-us-regierung-unter-obama-hat-das-institut-fuer-virologie-in-wuhan-nicht-mit-37-millionen-dollar-unterstuetzt/",
#                "stepfunction": {}
#            },
            {
                "claim": "Spanien korrigiert Anzahl der  Corona-Toten von über 26.000 auf 2.000. Bin mal gespannt, wie lange D-A-CH noch an den FAKE-Zahlen festhalten wollen.",
                "factcheck": "https://correctiv.org/faktencheck/2020/06/16/nein-spanien-hat-die-zahl-der-corona-toten-nicht-auf-2-000-korrigiert/",
                "stepfunction": {}
            },
            {
                "claim": "GERADE VON NTV AUFGENOMMEN!!!! MERKEL EMPFÄNGT MINSITERPRÄSIDENTEN IM KANZLERAMT.WO IST DER SICHERHEITSABSTAND, WO SIND DIE MASKEN??? SELBST SÖDER TRÄGT KEINE, ABER WEHE DER STEHT IN BAYERN VOR EINER PK, DA KOMMT DER DANN MIT MASKE REIN.WAS EIN VERLOGENES VOLK",
                "factcheck": "https://correctiv.org/faktencheck/2020/06/24/nein-merkel-hat-die-ministerpraesidenten-nicht-ohne-sicherheitsabstand-empfangen/",
                "stepfunction": {}
            },
            {
                "claim": "https://www.bitchute.com/video/WGkyGAUdwqlh/",
                "factcheck": "https://correctiv.org/faktencheck/2020/12/17/sprachnachricht-verbreitet-unbelegte-behauptung-ueber-corona-tests-mit-voreingestelltem-ergebnis/",
                "stepfunction": {}
            },
            {
                "claim": "https://www.facebook.com/corinnas.angelika.winkler/videos/4668198303252715",
                "factcheck": "https://correctiv.org/faktencheck/2020/12/16/video-nein-corona-schnelltest-reagiert-nicht-positiv-auf-rotwein/",
                "stepfunction": {}
            },
            {
                "claim": "https://www.facebook.com/steffen.mono/videos/1531749847023893/",
                "factcheck": "https://correctiv.org/faktencheck/2020/12/16/positiver-corona-test-bei-apfelmus-hat-keine-aussagekraft/",
                "stepfunction": {}
            },
            {
                "claim": "https://www.ots.at/presseaussendung/OTS_20201210_OTS0242/fpoe-schnedlitz-macht-live-coronatest-im-parlament",
                "factcheck": "https://correctiv.org/faktencheck/2020/12/15/antigen-schnelltest-falsch-durchgefuehrt-fpoe-politiker-testet-cola-auf-corona/",
                "stepfunction": {}
            },
            {
                # twitter benötigt eine andere extraktionsmethode
                "claim": "Ich übersetzte das mal für die #Gerichte: Jeder Patient mit #Lungenentzündung, der Kontakt mit einer positiv getesteten Person hatte, wird als Covid19 Fall gemeldet, auch wenn er selbst negativ getestet wurde. https://twitter.com/QuakDr/status/1332601338514038784",
                "factcheck": "https://correctiv.org/faktencheck/2020/12/15/es-stimmt-nicht-dass-jeder-patient-mit-lungenentzuendung-als-corona-fall-gezaehlt-wird/",
                "stepfunction": {}
            },
            {
                # nicht extrahierbar
                "claim": "Lothar Wieler vom RKI: Wir haben viel gelernt.. unabhängig davon ob es das Virus gibt, oder nicht Diese Aussage muss man sich mal auf der Zunge zergehen lassen! https://www.facebook.com/photo.php?fbid=3466879523407507&set=a.897173730378112&type=3",
                "factcheck": "https://correctiv.org/faktencheck/2020/12/15/ob-es-das-virus-gibt-oder-nicht-zitat-von-rki-chef-lothar-wieler-aus-dem-kontext-gerissen/",
                "stepfunction": {}
            },
            {
                # nicht extrahierbar
                "claim": "Die Schweizer Zulassungsbehörde hat soeben den deutschen mRNA-Corona-Impfstoff als zu gefährlich und unkalkulierbar ABGELEHNT. ***** TELEBASEL.CH Swissmedic: Stand heute können wir keine Zulassung für einen Impfstoff erteilen https://www.facebook.com/photo.php?fbid=1187531251644128&set=a.135783410152256&type=3",
                "factcheck": "https://correctiv.org/faktencheck/2020/12/14/schweiz-nein-einem-corona-impfstoff-wurde-nicht-die-zulassung-verweigert-weil-er-zu-gefaehrlich-und-unkalkulierbar-sei/",
                "stepfunction": {}
            },
            {
                # Forbidden to extract
                "claim": "Italien: Studie belegt stark erhöhten CO2-Wert unter der Maske https://2020news.de/italien-studie-belegt-stark-erhoehten-co2-wert-unter-der-maske/",
                "factcheck": "https://correctiv.org/faktencheck/2020/12/14/nein-eine-angebliche-studie-belegt-keinen-zu-hohen-co2-wert-unter-masken/",
                "stepfunction": {}
            },
            {
                "claim": "https://www.facebook.com/yhardt/videos/10222050726953076",
                "factcheck": "https://correctiv.org/faktencheck/2020/12/10/impfstudie-alles-deutet-darauf-hin-dass-dieser-arzt-in-brasilien-nicht-durch-eine-corona-impfung-starb/",
                "stepfunction": {}
            },
            {
                # nicht extrahierbar
                "claim": "Warum ist es notwendig, tief in der Nase nach dem Virus zu suchen?... Wäre es nicht ausreichend, auf das Stäbchen zu spucken, wenn doch angeblich das Virus au einem Meter schon ansteckend sein soll? https://www.facebook.com/photo.php?fbid=1773053819513552&set=a.794989853986625&type=3",
                "factcheck": "https://correctiv.org/faktencheck/2020/12/10/deshalb-wird-der-abstrich-fuer-pcr-tests-meist-am-nasenrachen-gemacht/",
                "stepfunction": {}
            },
            {
                "claim": "https://fingersblog.com/2020/11/19/niederlande-nur-wer-geimpft-ist-darf-sich-wieder-frei-bewegen/",
                "factcheck": "https://correctiv.org/faktencheck/2020/12/10/vorteile-fuer-menschen-die-sich-gegen-covid-19-impfen-lassen-niederlaendischer-gesundheitsminister-spricht-von-missverstaendnis/",
                "stepfunction": {}
            },
            {
                "claim": "https://corona-transition.org/amtliche-anweisung-an-arzte-und-apotheker-bitte-sprechen-sie-die-risiken-nicht",
                "factcheck": "https://correctiv.org/faktencheck/2020/12/09/nein-jens-spahn-hat-nicht-gesagt-dass-apotheker-keine-bedenken-zu-corona-impfstoffen-aeussern-sollen/",
                "stepfunction": {}
            },
            {
                "claim": "https://www.youtube.com/watch?v=io5ShKM4MV8&feature=youtu.be",
                "factcheck": "https://correctiv.org/faktencheck/2020/12/09/unwissenheit-ueber-covid-19-impfstoffe-aelteres-interview-mit-rki-chef-wieler-wird-irrefuehrend-verbreitet/",
                "stepfunction": {}
            },
            {
                # nicht extrahierbar
                "claim": "Weisheit des Tages: Wenn man an COVID stirbt, wird man sehr leicht... https://www.facebook.com/groups/648478082346782/permalink/978930515968202/",
                "factcheck": "https://correctiv.org/faktencheck/2020/12/07/nein-diese-bilder-von-leichensaecken-und-einem-sarg-zeigen-nicht-dass-corona-todesfaelle-inszeniert-werden/",
                "stepfunction": {}
            },
            {
                "claim": "https://www.facebook.com/permalink.php?story_fbid=2992046007562267&id=353649981401896",
                "factcheck": "https://correctiv.org/faktencheck/2020/12/07/nein-das-tragen-einer-maske-fuehrt-nicht-zu-sauerstoffmangel-bei-kindern/",
                "stepfunction": {}
            },
            {
                "claim": "https://www.spiegel.de/wissenschaft/medizin/corona-krise-bringt-rekord-rueckgang-der-co2-emissionen-a-81f70390-624d-4717-ba35-f3bc130ad8df",
                "factcheck": "",
                "stepfunction": {}
            },
            {
                "claim": "Kinderarzt besorgt: Corona-Geimpfte sind Teil eines medizinischen Experiments: https://www.compact-online.de/kinderarzt-besorgt-corona-geimpfte-sind-teil-eines-medizinischen-experiments/",
                "factcheck": "",
                "stepfunction": {}
            },
            {
                "claim": "Baden-Württemberg: Zwangseinweisung für hartnäckige Quarantäneverweigerer beschlossen: https://de.rt.com/inland/110251-baden-wurttemberg-zwangseinweisung-fur-hartnackige/",
                "factcheck": "",
                "stepfunction": {}
            },
            {
                "claim": "Gesundheitsexperten warnen vor kurzfristigen, aber heftigen Nebenwirkungen einer Corona-Impfung https://de.rt.com/inland/110211-gesundheitsexperten-warnen-vor-kurzfristigen-aber-heftigen-nebenwirkungen-corona-impfung/",
                "factcheck": "",
                "stepfunction": {}
            },
        ]

        # search fact checks for all items
        count_fcExists = 0
        count_kp_tp = 0
        count_kp_fn = 0
        count_noFc = 0
        count_kp_tn = 0
        count_kp_fp = 0

        for i in range(len(claim_factcheck_dicts)):
            # creating item
            item = Item()
            item.content = claim_factcheck_dicts[i]["claim"]
            item = item_handler.create_item(item, True, session)
            claim_factcheck_dicts[i]["stepfunction"]["item"] =  {
                    "id": item.id,
                    "content": item.content,
                    "language": item.language,
                }

            #extract claim
            event = {
                "item": claim_factcheck_dicts[i]["stepfunction"]["item"]
            }
            context = ""
            claim = ExtractClaim.extract_claim(event, context)
            claim_factcheck_dicts[i]["stepfunction"]["Claim"] = claim

            # detect language
            event = {
                "Text": claim["concatenation"]["Text"]
            }
            try:
                claim_factcheck_dicts[i]["stepfunction"]["item"]["language"] = GetLanguage.get_language(event, context)
            except:
                continue

            # increment count of factchecks
            if claim_factcheck_dicts[i]["factcheck"] == "":
                count_noFc = count_noFc+1
            else:
                count_fcExists = count_fcExists+1

            # detect key phrases
            event["LanguageCode"] = claim_factcheck_dicts[i]["stepfunction"]["item"]["language"]
            claim_factcheck_dicts[i]["stepfunction"]["KeyPhrases"] = GetKeyPhrases.get_phrases(event, context)

            # detect entities
            claim_factcheck_dicts[i]["stepfunction"]["Entities"] = GetEntities.get_entities(event, context)

            # search factchecks with KeyPhrases
            event = {
                "item": claim_factcheck_dicts[i]["stepfunction"]["item"],
                "KeyPhrases": claim_factcheck_dicts[i]["stepfunction"]["KeyPhrases"],
                "Entities": claim_factcheck_dicts[i]["stepfunction"]["Entities"]
            }
            ret = SearchFactChecks.get_FactChecks(event, context)
            url = ""
            if 'claimReview' in ret[0]:
                url = ret[0]['claimReview'][0]['url']
            if url == claim_factcheck_dicts[i]["factcheck"]:
                if url == "":
                    count_kp_tn = count_kp_tn+1
                else:
                    count_kp_tp = count_kp_tp+1
            else:
                if url == "":
                    count_kp_fn = count_kp_fn+1
                else:
                    count_kp_fp = count_kp_fp+1

        # calculate rate of false factchecks
        kp_fp = count_kp_fp/(count_fcExists+count_noFc)
        # calculate precision
        kp_pr = count_kp_tp/(count_kp_tp+count_kp_fp)
        # calculate Specitivity
        if count_noFc>0:
            kp_tn = count_kp_tn/count_noFc
        else:
            kp_tn = 1.
        if count_fcExists>0:
            # calculate Recall or Sensitivity, respectively
            kp_tp = count_kp_tp/count_fcExists
            # calculate false negatives
            kp_fn = count_kp_fn/count_fcExists
        else:
            kp_tp = 1.
            kp_fn = 1.

        logger = logging.getLogger()
        logger.setLevel(logging.INFO)
        logger.info('Precision (How much of the found factchecks are correct) for FactCheck Search: {}'.format(kp_pr))
        logger.info('Recall (Sensitivity, how much of the factchecks were found) for FactCheck Search: {}'.format(kp_tp))
        logger.info('Specifity (if no factcheck was found, how much of them are really without existing factcheck): {}'.format(kp_tn))
        logger.info('False factchecks found: {}'.format(kp_fp))
        logger.info('Existing Factcheck not found: {}'.format(kp_fn))