Skip to main content

Testframework voor VERA referentiedata

Project description

VERA Testframework

⏳ Work in progress

Maakt het makkelijk om te testen of data voldoet aan de VERA-standaard m.b.v. het pyspark-testframework.

Tutorial

Op het moment is het vera-testframework alleen compatibel met pyspark.

from vera_testframework.pyspark import ReferentiedataTest
from pyspark.sql import SparkSession
from testframework.dataquality import DataFrameTester
spark = SparkSession.builder.appName("vera_testframework").getOrCreate()

Hieronder wordt een voorbeeld DataFrame gemaakt m.b.t. ruimten, waarvan we gaan testen of de waardes voldoen aan de VERA-standaard.

ruimten = [
    (1, "LOG", "Loggia"),
    (2, "WOO", "Woonkamer"),
    (3, "BAD", "Badruimte"),
    (4, "BAD", "Badkamer"),
    (5, None, "Kelder"),
    (6, "SLA", None),
]

ruimten_df = spark.createDataFrame(ruimten, ["id", "code", "naam"])

We maken gebruik van de DataFrameTester van het pyspark-testframework om onze testresultaten in bij te houden.

testframework = DataFrameTester(
    df=ruimten_df,
    primary_key="id",
    spark=spark,
)

Door middel van de ReferentiedataTest kunnen we testen of een kolom voldoet aan de VERA-standaard m.b.t. Referentiedata.

testframework.test(
    col="code",
    test=ReferentiedataTest(
        soort="RUIMTEDETAILSOORT",
        attribuut="Code",
        release="latest",  # standaard is latest, maar kan ook een specifieke versie zijn zoals v4.1.240419
    ),
    nullable=False,  # of een waarde leeg mag zijn. Dit is aan de gebruiker
).show()
+---+----+-------------------+
| id|code|code__VERAStandaard|
+---+----+-------------------+
|  1| LOG|               true|
|  2| WOO|               true|
|  3| BAD|               true|
|  4| BAD|               true|
|  5|NULL|              false|
|  6| SLA|               true|
+---+----+-------------------+
testframework.test(
    col="naam",
    test=ReferentiedataTest(
        soort="RUIMTEDETAILSOORT",
        attribuut="Naam",
    ),
    nullable=True,
).show()
+---+---------+-------------------+
| id|     naam|naam__VERAStandaard|
+---+---------+-------------------+
|  1|   Loggia|               true|
|  2|Woonkamer|               true|
|  3|Badruimte|              false|
|  4| Badkamer|               true|
|  5|   Kelder|               true|
|  6|     NULL|               true|
+---+---------+-------------------+

De resultaten van de testen zijn te vinden in de .results attribuut van de DataFrameTester.

testframework.results.show()
+---+-------------------+-------------------+
| id|code__VERAStandaard|naam__VERAStandaard|
+---+-------------------+-------------------+
|  1|               true|               true|
|  2|               true|               true|
|  3|               true|              false|
|  4|               true|               true|
|  5|              false|               true|
|  6|               true|               true|
+---+-------------------+-------------------+

Voor meer informatie over hoe het pyspark-testframework te gebruiken, raadpleeg de documentatie op hun Github

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

vera_testframework-0.1.0.tar.gz (13.9 kB view hashes)

Uploaded Source

Built Distribution

vera_testframework-0.1.0-py3-none-any.whl (7.0 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page