Skip to content

Commit

Permalink
fix path
Browse files Browse the repository at this point in the history
  • Loading branch information
l0uden committed Nov 2, 2023
1 parent 5eabefa commit e6b25ae
Show file tree
Hide file tree
Showing 4 changed files with 159 additions and 57 deletions.
112 changes: 57 additions & 55 deletions .github/workflows/test-integration-vizro-ai.yml
Original file line number Diff line number Diff line change
@@ -1,55 +1,57 @@
#name: test-integration-vizro-ai
#
#defaults:
# run:
# working-directory: vizro-core
#
##### TODO: adjust below according to other scripts
#on:
# # push:
# # branches: [main]
# pull_request:
# # branches:
# # - "main"
#
#concurrency:
# group: test-integration-${{ github.head_ref }}
# cancel-in-progress: true
#
#env:
# PYTHONUNBUFFERED: "1"
# FORCE_COLOR: "1"
#
#jobs:
# run:
# name: Python ${{ matrix.python-version }} on ${{ matrix.os }}
# runs-on: ${{ matrix.os }}
# strategy:
# fail-fast: false
# matrix:
# os: [ubuntu-latest, windows-latest]
# python-version: ["3.9", "3.10", "3.11"]
#
# steps:
# - uses: actions/checkout@v4
# - name: Get branch name
# id: branch-name
# uses: tj-actions/branch-names@v7
#
# - name: Set up Python ${{ matrix.python-version }}
# uses: actions/setup-python@v4
# with:
# python-version: ${{ matrix.python-version }}
#
# - uses: actions/cache@v3
# with:
# path: ${{ env.pythonLocation }}
# key: ${{ matrix.os }}-${{ matrix.python-version }}-${{ steps.branch-name.outputs.current_branch }}-pip-${{ hashFiles('hatch.toml') }}-${{ hashFiles('pyproject.toml') }}
# restore-keys: |
# ${{ matrix.os }}-${{ matrix.python-version }}-${{ steps.branch-name.outputs.current_branch }}-pip-
#
# - name: Run ubuntu integration tests
# if: ${{ matrix.os == 'ubuntu-latest' }}
# run: |
# pip install --upgrade hatch
# hatch run all.py${{ matrix.python-version }}:test-integration
name: test-integration-vizro-ai

defaults:
run:
working-directory: vizro-ai

on:
# push:
# branches: [main]
pull_request:
# branches:
# - "main"

concurrency:
group: test-integration-${{ github.head_ref }}
cancel-in-progress: true

env:
PYTHONUNBUFFERED: "1"
FORCE_COLOR: "1"

jobs:
run:
name: Python ${{ matrix.python-version }} on Linux
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.9", "3.10", "3.11"]

steps:
- uses: actions/checkout@v4
with:
fetch-depth: ${{ github.event_name == 'pull_request' && 2 || 0 }}

- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}

- name: Install Hatch
run: pip install --upgrade hatch

- name: Run vizro-ai integration tests with pypi vizro
run: |
export OPENAI_API_KEY=${{ secrets.OPENAI_API_KEY }}
export OPENAI_API_BASE=${{ secrets.OPENAI_API_BASE }}
hatch run all.py${{ matrix.python-version }}:test-integration
- name: Run vizro-ai integration tests with local vizro
run: |
export OPENAI_API_KEY=${{ secrets.OPENAI_API_KEY }}
export OPENAI_API_BASE=${{ secrets.OPENAI_API_BASE }}
cd ../vizro-core
hatch build
cd ../vizro-ai
hatch run all.py${{ matrix.python-version }}:pip install ../vizro-core/dist/vizro*.tar.gz
hatch run all.py${{ matrix.python-version }}:test-integration
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
<!--
A new scriv changelog fragment.
Uncomment the section that is right (remove the HTML comment wrapper).
-->

<!--
### Highlights ✨
- A bullet item for the Highlights ✨ category with a link to the relevant PR at the end of your entry, e.g. Enable feature XXX ([#1](https://github.com/mckinsey/vizro/pull/1))
-->
<!--
### Removed
- A bullet item for the Removed category with a link to the relevant PR at the end of your entry, e.g. Enable feature XXX ([#1](https://github.com/mckinsey/vizro/pull/1))
-->
<!--
### Added
- A bullet item for the Added category with a link to the relevant PR at the end of your entry, e.g. Enable feature XXX ([#1](https://github.com/mckinsey/vizro/pull/1))
-->
<!--
### Changed
- A bullet item for the Changed category with a link to the relevant PR at the end of your entry, e.g. Enable feature XXX ([#1](https://github.com/mckinsey/vizro/pull/1))
-->
<!--
### Deprecated
- A bullet item for the Deprecated category with a link to the relevant PR at the end of your entry, e.g. Enable feature XXX ([#1](https://github.com/mckinsey/vizro/pull/1))
-->
<!--
### Fixed
- A bullet item for the Fixed category with a link to the relevant PR at the end of your entry, e.g. Enable feature XXX ([#1](https://github.com/mckinsey/vizro/pull/1))
-->
<!--
### Security
- A bullet item for the Security category with a link to the relevant PR at the end of your entry, e.g. Enable feature XXX ([#1](https://github.com/mckinsey/vizro/pull/1))
-->
5 changes: 3 additions & 2 deletions vizro-ai/hatch.toml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,8 @@ dependencies = [
"coverage[toml]>=6.5",
"pytest",
"toml",
"nbformat>=4.2.0"
"nbformat>=4.2.0",
"pyhamcrest"
]

[envs.default.env-vars]
Expand Down Expand Up @@ -46,7 +47,7 @@ test = [
]
test-cov = "coverage run -m pytest tests/unit {args}"
test-integration = [
"pytest tests/integration {args}"
"pytest -v tests/integration"
]
test-unit = "pytest tests/unit {args}"
update-snyk-requirements = "python ../tools/generate_snyk_requirements.py {args}"
Expand Down
51 changes: 51 additions & 0 deletions vizro-ai/tests/integration/test_example.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
import plotly.express as px
from hamcrest import all_of, any_of, assert_that, contains_string, equal_to
from vizro_ai import VizroAI

vizro_ai = VizroAI()
df = px.data.gapminder()


def test_chart():
vizro_ai._return_all_text = True
resp = vizro_ai.plot(df, "describe the composition of scatter chart with gdp in continent")
assert_that(
resp["code_string"],
all_of(
contains_string("px.scatter"),
contains_string("x='continent'"),
contains_string("y='gdpPercap'"),
),
)
assert_that(resp["business_insights"], equal_to(None))
assert_that(resp["code_explanation"], equal_to(None))


def test_chart_with_explanation():
vizro_ai._return_all_text = True
resp = vizro_ai.plot(
df,
"describe the composition of gdp in US",
explain=True,
)
assert_that(
resp["code_string"],
all_of(
contains_string("px.bar"),
contains_string("x='year'"),
contains_string("y='gdpPercap'"),
),
)
assert_that(
resp["business_insights"],
any_of(
contains_string("GDP in the United States"),
contains_string("GDP in the US"),
),
)
assert_that(
resp["code_explanation"],
all_of(
contains_string("https://vizro.readthedocs.io/en/stable/pages/user_guides/custom_charts/"),
),
)

0 comments on commit e6b25ae

Please sign in to comment.