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 details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

Details for the file vera_testframework-0.1.0.tar.gz.

File metadata

  • Download URL: vera_testframework-0.1.0.tar.gz
  • Upload date:
  • Size: 13.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.0 CPython/3.12.4

File hashes

Hashes for vera_testframework-0.1.0.tar.gz
Algorithm Hash digest
SHA256 232facd0a580f77a9fc9595f861fb2fcd7801ccc7b28abad00136e8884302941
MD5 3bb493b9ad62263fb66f5de31a8526ea
BLAKE2b-256 4ea6768a603ae1466b31b1ce08e9fd061d066d6ce6d7062cc1381ce3bbccfdef

See more details on using hashes here.

File details

Details for the file vera_testframework-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for vera_testframework-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5ef488649e43c2470e82a05275e50090ac42632d37278aeba0b88a80470deefe
MD5 65c8fc3bf237a3f2b14cef8d416ad554
BLAKE2b-256 791b32bb01a785eccda555ce7f7991599d0e649b23ca47d2d07a0a11c26f540e

See more details on using hashes here.

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