Skip to content

feat(landscape): add landscape resource#41

Merged
Datata1 merged 4 commits intomainfrom
jd/landscape-resource
Feb 9, 2026
Merged

feat(landscape): add landscape resource#41
Datata1 merged 4 commits intomainfrom
jd/landscape-resource

Conversation

@Datata1
Copy link
Owner

@Datata1 Datata1 commented Feb 7, 2026

No description provided.

@Datata1 Datata1 self-assigned this Feb 7, 2026
@github-actions
Copy link

github-actions bot commented Feb 7, 2026

🛡️ Bandit Security Scan Results

✅ No security issues found by Bandit.

@github-actions
Copy link

github-actions bot commented Feb 7, 2026

Coverage

Pytest Coverage Report
FileStmtsMissCoverMissing
src/codesphere
   client.py220100% 
   config.py90100% 
   exceptions.py943859%25–26, 30, 40–42, 55, 72–75, 85–87, 101–104, 106–107, 148–151, 158–160, 197–199, 205, 207, 211, 214, 216, 218–219, 222
   http_client.py54688%78–79, 81–82, 87–88
   utils.py271640%12–13, 26–32, 34–35, 40–43, 45
src/codesphere/core
   base.py340100% 
   handler.py911385%118–120, 125–130, 136–137, 140–141
   operations.py110100% 
src/codesphere/resources/metadata
   operations.py60100% 
   resources.py200100% 
   schemas.py280100% 
src/codesphere/resources/team
   operations.py60100% 
   resources.py170100% 
   schemas.py260100% 
src/codesphere/resources/team/domain
   manager.py300100% 
   operations.py100100% 
   resources.py31487%45, 48–50
   schemas.py350100% 
src/codesphere/resources/workspace
   operations.py110100% 
   resources.py23291%24, 32
   schemas.py951287%100–101, 103–109, 115–116, 118
src/codesphere/resources/workspace/envVars
   models.py32293%39–40
   operations.py60100% 
   schemas.py40100% 
src/codesphere/resources/workspace/git
   models.py00100% 
   schema.py00100% 
src/codesphere/resources/workspace/landscape
   models.py58198%19
   operations.py50100% 
   resources.py00100% 
   schemas.py2672989%77–78, 81, 86–87, 90–91, 94, 99–101, 104–105, 108, 217, 224–225, 300–302, 304–306, 308–309, 424–425, 432–433
src/codesphere/resources/workspace/pipeline
   models.py00100% 
   resources.py00100% 
TOTAL105212388% 

Test Execution Summary

Tests Skipped Failures Errors Time
174 0 💤 0 ❌ 0 🔥 2.096s ⏱️

@github-actions
Copy link

github-actions bot commented Feb 7, 2026

Integration Test Results

47 tests   47 ✅  2m 32s ⏱️
 1 suites   0 💤
 1 files     0 ❌

Results for commit c9b3e61.

♻️ This comment has been updated with latest results.

@Datata1 Datata1 requested a review from Copilot February 7, 2026 17:26
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a new “landscape” resource for workspaces, enabling profile-based multi-server deployments plus a fluent builder API, along with unit/integration tests and an example script.

Changes:

  • Introduces WorkspaceLandscapeManager with deploy/teardown/scale and profile CRUD helpers.
  • Adds Pydantic schema models + fluent builders for creating ci.<profile>.yml profile configs.
  • Exposes workspace.landscape and adds a wait_until_running() helper; adds extensive unit/integration tests and an example.

Reviewed changes

Copilot reviewed 9 out of 11 changed files in this pull request and generated 5 comments.

Show a summary per file
File Description
tests/resources/workspace/landscape/test_landscape.py Adds unit tests for landscape manager methods and builder/schema behavior.
tests/resources/workspace/landscape/init.py Marks the test package (empty init).
tests/integration/test_landscape.py Adds integration coverage for listing/saving/getting/deleting profiles and deploy workflow.
src/codesphere/resources/workspace/schemas.py Adds wait_until_running() and exposes workspace.landscape via cached_property.
src/codesphere/resources/workspace/landscape/schemas.py Adds landscape schema models and fluent builder implementations.
src/codesphere/resources/workspace/landscape/operations.py Adds API operation definitions for deploy/teardown/scale.
src/codesphere/resources/workspace/landscape/models.py Implements WorkspaceLandscapeManager and profile file operations via execute-command.
src/codesphere/resources/workspace/landscape/init.py Exports landscape public API symbols.
examples/create_workspace_with_landscape.py Adds an end-to-end example for creating a workspace and deploying via landscape profile.

@Datata1 Datata1 merged commit d7dea84 into main Feb 9, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant