Skip to content

Fix/tests #16

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 12 commits into from
Mar 12, 2024
Merged
Show file tree
Hide file tree
Changes from 4 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 20 additions & 0 deletions .github/workflows/CI.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
name: CI

on:
push:
branches: [master, next]

jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Set up Python
uses: actions/setup-python@v3
with:
python-version: "3.9"
- name: Test
run: |
pip install pytest
pip install -r requirements.txt
pytest
18 changes: 16 additions & 2 deletions .github/workflows/CD.yml → .github/workflows/CICD.yml
Original file line number Diff line number Diff line change
@@ -1,12 +1,26 @@
name: CD
name: CICD

on:
push:
branches: [master, next, json_import_viewer]
branches: [master, next]

jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Set up Python
uses: actions/setup-python@v3
with:
python-version: "3.9"
- name: Test
run: |
pip install pytest
pip install -r requirements.txt
pytest
build:
runs-on: ubuntu-latest
needs: test
steps:
- name: Checkout
uses: actions/checkout@v4
Expand Down
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -8,3 +8,5 @@ __pycache__/
/node_modules
latest_logs
schemas.json
build
*.egg-info
3 changes: 3 additions & 0 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,9 @@ classifiers = [
"Homepage" = "https://github.com/Geode-solutions/OpenGeodeWeb-Viewer"
"Bug Tracker" = "https://github.com/Geode-solutions/OpenGeodeWeb-Viewer/issues"

[project.scripts]
opengeodeweb_viewer-start = "opengeodeweb_viewer.vtkw_server:run_server"

[tool.setuptools.dynamic]
dependencies = {file = ["requirements.txt"]}

Expand Down
Empty file added src/__init__.py
Empty file.
3 changes: 3 additions & 0 deletions src/opengeodeweb_viewer/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
from .config import *
from .function import *
from .vtk_protocol import *
2 changes: 1 addition & 1 deletion src/opengeodeweb_viewer/config.py
Original file line number Diff line number Diff line change
Expand Up @@ -27,5 +27,5 @@ def dev_config():
def test_config():
default_config()
os.environ["DATA_FOLDER_PATH"] = os.path.join(
os.path.dirname(__file__), "..", "tests", "data"
os.path.dirname(__file__), "tests", "data"
)
2 changes: 1 addition & 1 deletion src/opengeodeweb_viewer/vtk_protocol.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
from vtk.web import protocols as vtk_protocols
from wslink import register as exportRpc
import vtk
from function import validate_schemas
from .function import validate_schemas

schemas = os.path.join(os.path.dirname(__file__), "rpc/schemas")

Expand Down
9 changes: 5 additions & 4 deletions src/opengeodeweb_viewer/vtkw_server.py
Original file line number Diff line number Diff line change
@@ -1,14 +1,15 @@
import sys
import argparse
from opengeodeweb_viewer import config
import os

from wslink import server
from vtk.web import wslink as vtk_wslink
from vtk.web import protocols as vtk_protocols
import vtk
from vtk_protocol import VtkView
from .vtk_protocol import VtkView
import dotenv
from .config import *


# =============================================================================
# Server class
Expand Down Expand Up @@ -84,9 +85,9 @@ def run_server():
dotenv.load_dotenv(dot_env_path)
PYTHON_ENV = os.environ.get("PYTHON_ENV", default="prod").strip().lower()
if PYTHON_ENV == "prod":
config.prod_config()
prod_config()
elif PYTHON_ENV == "dev":
config.dev_config()
dev_config()

parser = argparse.ArgumentParser(description="Vtk server")
server.add_arguments(parser)
Expand Down
5 changes: 2 additions & 3 deletions src/tests/conftest.py
Original file line number Diff line number Diff line change
Expand Up @@ -115,11 +115,10 @@ class Starter(ProcessStarter):

# command to start process
args = [
"python3",
str(self.root_path / server_path),
"opengeodeweb_viewer-start",
]

return Path(server_path).name, Starter, ServerMonitor
return "vtkw_server", Starter, ServerMonitor


ROOT_PATH = Path(__file__).parent.parent.absolute()
Expand Down
144 changes: 72 additions & 72 deletions src/tests/test_protocol.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,100 +6,100 @@ def test_create_visualization(server):
assert server.compare_image(3, "create_visualization.jpeg") == True


# def test_reset_camera(server):
# server.call("reset_camera")
# assert server.compare_image(3, "reset_camera.jpeg") == True
def test_reset_camera(server):
server.call("reset_camera")
assert server.compare_image(3, "reset_camera.jpeg") == True


# def test_create_object_pipeline(server):
# server.call("create_object_pipeline", [{"id": "123456", "file_name": "hat.vtp"}])
# assert server.compare_image(3, "create_object_pipeline.jpeg") == True
def test_create_object_pipeline(server):
server.call("create_object_pipeline", [{"id": "123456", "file_name": "hat.vtp"}])
assert server.compare_image(3, "create_object_pipeline.jpeg") == True


# def test_delete_object_pipeline(server):
# server.call("create_object_pipeline", [{"id": "123456789", "file_name": "hat.vtp"}])
# assert server.compare_image(3, "create_object_pipeline.jpeg") == True
def test_delete_object_pipeline(server):
server.call("create_object_pipeline", [{"id": "123456789", "file_name": "hat.vtp"}])
assert server.compare_image(3, "create_object_pipeline.jpeg") == True

# server.call("delete_object_pipeline", [{"id": "123456789"}])
# assert server.compare_image(3, "delete_object_pipeline.jpeg") == True
server.call("delete_object_pipeline", [{"id": "123456789"}])
assert server.compare_image(3, "delete_object_pipeline.jpeg") == True


# def test_toggle_object_visibility(server):
# server.call("create_object_pipeline", [{"id": "123456789", "file_name": "hat.vtp"}])
# assert server.compare_image(3, "create_object_pipeline.jpeg") == True
def test_toggle_object_visibility(server):
server.call("create_object_pipeline", [{"id": "123456789", "file_name": "hat.vtp"}])
assert server.compare_image(3, "create_object_pipeline.jpeg") == True

# server.call("toggle_object_visibility", [{"id": "123456789", "is_visible": False}])
# assert server.compare_image(3, "toggle_object_visibility_1.jpeg") == True
server.call("toggle_object_visibility", [{"id": "123456789", "is_visible": False}])
assert server.compare_image(3, "toggle_object_visibility_1.jpeg") == True

# server.call("toggle_object_visibility", [{"id": "123456789", "is_visible": True}])
# assert server.compare_image(3, "toggle_object_visibility_2.jpeg") == True
server.call("toggle_object_visibility", [{"id": "123456789", "is_visible": True}])
assert server.compare_image(3, "toggle_object_visibility_2.jpeg") == True


# def test_apply_textures(server):
def test_apply_textures(server):

# server.call(
# "create_object_pipeline",
# [{"id": "123456789", "file_name": "hat.vtp"}],
# )
# assert server.compare_image(3, "create_object_pipeline.jpeg") == True
server.call(
"create_object_pipeline",
[{"id": "123456789", "file_name": "hat.vtp"}],
)
assert server.compare_image(3, "create_object_pipeline.jpeg") == True

# server.call(
# "apply_textures",
# [
# {
# "id": "123456789",
# "textures": [
# {
# "texture_name": "lambert2SG",
# "texture_file_name": "hat_lambert2SG.vti",
# }
# ],
# }
# ],
# )
# assert server.compare_image(3, "apply_textures.jpeg") == True
server.call(
"apply_textures",
[
{
"id": "123456789",
"textures": [
{
"texture_name": "lambert2SG",
"texture_file_name": "hat_lambert2SG.vti",
}
],
}
],
)
assert server.compare_image(3, "apply_textures.jpeg") == True


# def test_get_point_position(server):
def test_get_point_position(server):

# server.call(
# "create_object_pipeline",
# [{"id": "123456789", "file_name": "hat.vtp"}],
# )
# assert server.compare_image(3, "create_object_pipeline.jpeg") == True
server.call(
"create_object_pipeline",
[{"id": "123456789", "file_name": "hat.vtp"}],
)
assert server.compare_image(3, "create_object_pipeline.jpeg") == True

# server.call("get_point_position", [{"x": 0, "y": 0}])
# response = server.get_response()
# assert "x" in response["result"]
# assert "y" in response["result"]
# assert "z" in response["result"]
# x = response["result"]["x"]
# y = response["result"]["y"]
# z = response["result"]["z"]
# assert type(x) is float
# assert type(y) is float
# assert type(z) is float
server.call("get_point_position", [{"x": 0, "y": 0}])
response = server.get_response()
assert "x" in response["result"]
assert "y" in response["result"]
assert "z" in response["result"]
x = response["result"]["x"]
y = response["result"]["y"]
z = response["result"]["z"]
assert type(x) is float
assert type(y) is float
assert type(z) is float


# def test_toggle_edge_visibility(server):
def test_toggle_edge_visibility(server):

# server.call(
# "create_object_pipeline",
# [{"id": "123456789", "file_name": "hat.vtp"}],
# )
# assert server.compare_image(3, "create_object_pipeline.jpeg") == True
server.call(
"create_object_pipeline",
[{"id": "123456789", "file_name": "hat.vtp"}],
)
assert server.compare_image(3, "create_object_pipeline.jpeg") == True

# server.call("toggle_edge_visibility", [{"id": "123456789", "visibility": True}])
# assert server.compare_image(3, "toggle_edge_visibility.jpeg") == True
server.call("toggle_edge_visibility", [{"id": "123456789", "visibility": True}])
assert server.compare_image(3, "toggle_edge_visibility.jpeg") == True


# def test_set_color(server):
def test_set_color(server):

# server.call(
# "create_object_pipeline",
# [{"id": "123456789", "file_name": "hat.vtp"}],
# )
# assert server.compare_image(3, "create_object_pipeline.jpeg") == True
server.call(
"create_object_pipeline",
[{"id": "123456789", "file_name": "hat.vtp"}],
)
assert server.compare_image(3, "create_object_pipeline.jpeg") == True

# server.call("set_color", [{"id": "123456789", "red": 50, "green": 2, "blue": 250}])
# assert server.compare_image(3, "set_color.jpeg") == True
server.call("set_color", [{"id": "123456789", "red": 50, "green": 2, "blue": 250}])
assert server.compare_image(3, "set_color.jpeg") == True