Skip to content

Commit

Permalink
chore: More tests
Browse files Browse the repository at this point in the history
  • Loading branch information
erezrokah committed Nov 27, 2023
1 parent 7108c87 commit 851364b
Show file tree
Hide file tree
Showing 10 changed files with 138 additions and 1 deletion.
78 changes: 78 additions & 0 deletions .github/workflows/transformations_aws_cost.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
name: "Test AWS Cost Policies: Postgres"

on:
pull_request:
paths:
- "transformations/aws/cost/**"
- ".github/workflows/transformations_aws_cost_postgres.yml"
push:
branches:
- main
paths:
- "transformations/aws/cost/**"
- ".github/workflows/transformations_aws_cost_postgres.yml"

jobs:
transformations-aws-cost:
name: transformations/aws/cost
timeout-minutes: 30
runs-on: ubuntu-latest
defaults:
run:
working-directory: ./transformations/aws/cost
services:
postgres:
image: postgres:11
env:
POSTGRES_PASSWORD: pass
POSTGRES_USER: postgres
POSTGRES_DB: postgres
ports:
- 5432:5432
# Set health checks to wait until postgres has started
options: >-
--health-cmd pg_isready
--health-interval 10s
--health-timeout 5s
--health-retries 5
steps:
- name: Checkout
uses: actions/checkout@v4
- uses: actions/setup-python@v4
with:
python-version: "3.9"
cache: "pip"
cache-dependency-path: "./transformations/aws/cost/requirements.txt"
- name: Install dependencies
run: pip install -r requirements.txt
- name: Setup CloudQuery
uses: cloudquery/setup-cloudquery@v3
with:
version: v4.0.0
# Test unpacked version
- name: Migrate DB
run: cloudquery migrate tests/postgres.yml
env:
CQ_DSN: postgresql://postgres:pass@localhost:5432/postgres
- name: Run Policies
run: |
dbt run --target dev-pg --profiles-dir ./tests
# Test packed version
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 'lts/*'
cache: 'npm'
cache-dependency-path: scripts/dbt-pack/package-lock.json
- name: Install Dependencies
run: npm ci
working-directory: ./scripts/dbt-pack
- name: Pack DBT
working-directory: ./scripts/dbt-pack
run: node index.js dbt-pack --project-dir=../../transformations/aws/cost
- name: Unzip Packed DBT
run: unzip -o build/aws_cost.zip -d build/aws_cost
- name: Run Unpacked DBT
working-directory: ./transformations/aws/cost/build/aws_cost
run: |
dbt run --target dev-pg --profiles-dir ../../tests
13 changes: 13 additions & 0 deletions transformations/aws/cost/manifest.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
{
"schema_version": 1,
"type": "addon",
"team_name": "cloudquery",
"addon_name": "aws-cost",
"addon_type": "transformation",
"addon_format": "zip",
"message": "@./changelog.md",
"doc": "./README.md",
"path": "./build/aws_cost.zip",
"plugin_deps": ["cloudquery/source/[email protected]"],
"addon_deps": []
}
1 change: 1 addition & 0 deletions transformations/aws/cost/requirements.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
dbt-postgres==1.6.6
2 changes: 1 addition & 1 deletion transformations/aws/cost/tests/profiles.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
aws_data_resilience: # This should match the name in your dbt_project.yml
aws_cost: # This should match the name in your dbt_project.yml
target: dev
outputs:
dev-pg:
Expand Down
1 change: 1 addition & 0 deletions transformations/aws/data-resilience/requirements.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
dbt-postgres==1.6.6
1 change: 1 addition & 0 deletions transformations/aws/encryption/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# CloudQuery × dbt: AWS Encryption Package
13 changes: 13 additions & 0 deletions transformations/aws/encryption/manifest.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
{
"schema_version": 1,
"type": "addon",
"team_name": "cloudquery",
"addon_name": "aws-encryption",
"addon_type": "transformation",
"addon_format": "zip",
"message": "@./changelog.md",
"doc": "./README.md",
"path": "./build/aws_encryption.zip",
"plugin_deps": ["cloudquery/source/[email protected]"],
"addon_deps": []
}
1 change: 1 addition & 0 deletions transformations/aws/encryption/requirements.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
dbt-postgres==1.6.6
17 changes: 17 additions & 0 deletions transformations/aws/encryption/tests/postgres.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
kind: source
spec:
name: aws
path: cloudquery/aws
version: "v22.19.0" # latest version of source aws plugin
destinations: ["postgresql"]
tables: ["*"]
---
kind: destination
spec:
name: "postgresql"
path: "cloudquery/postgresql"
registry: cloudquery
version: "v7.1.0" # latest version of postgresql plugin
spec:
batch_size: 10000
connection_string: ${CQ_DSN}
12 changes: 12 additions & 0 deletions transformations/aws/encryption/tests/profiles.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
aws_encryption: # This should match the name in your dbt_project.yml
target: dev
outputs:
dev-pg:
type: postgres
host: 127.0.0.1
user: postgres
pass: pass
port: 5432
dbname: postgres
schema: public # default schema where dbt will build the models
threads: 1 # number of threads to use when running in parallel

0 comments on commit 851364b

Please sign in to comment.