e828acf175
CI / lint (push) Successful in 1m32s
CI / typecheck (push) Successful in 1m38s
CI / lint (pull_request) Successful in 1m30s
CI / typecheck (pull_request) Successful in 1m30s
CI / behave (3.11) (pull_request) Successful in 1m39s
CI / behave (3.12) (pull_request) Successful in 1m39s
CI / build (pull_request) Successful in 1m29s
CI / behave (3.13) (pull_request) Successful in 1m39s
CI / behave (3.11) (push) Successful in 1m39s
CI / behave (3.12) (push) Successful in 1m41s
CI / behave (3.13) (push) Successful in 1m37s
CI / build (push) Successful in 1m30s
ISSUES CLOSED: #1
65 lines
2.4 KiB
Gherkin
65 lines
2.4 KiB
Gherkin
Feature: External Dependencies Interceptor
|
|
As a developer using CleverRDFLib
|
|
I want to intercept and redirect external HTTP/HTTPS requests
|
|
So that I can use local files instead of remote resources
|
|
|
|
Background:
|
|
Given I have a test data directory
|
|
|
|
Scenario: Install HTTP interceptor with URI mappings
|
|
Given I have URI mappings configured
|
|
When I install the external dependencies interceptor
|
|
Then the interceptor should be installed
|
|
And HTTP requests should be redirected to local files
|
|
|
|
Scenario: Install HTTPS interceptor with URI mappings
|
|
Given I have URI mappings configured
|
|
When I install the HTTPS external dependencies interceptor
|
|
Then the HTTPS interceptor should be installed
|
|
And HTTPS requests should be redirected to local files
|
|
|
|
Scenario: Block HTTP requests without mappings
|
|
Given I have a rejecter HTTP handler
|
|
When I attempt to access an unmapped HTTP URI
|
|
Then the request should be blocked
|
|
And a PermissionError should be raised
|
|
|
|
Scenario: Block HTTPS requests without mappings
|
|
Given I have a rejecter HTTPS handler
|
|
When I attempt to access an unmapped HTTPS URI
|
|
Then the request should be blocked
|
|
And a PermissionError should be raised
|
|
|
|
Scenario: Redirect HTTP requests with mappings
|
|
Given I have a redirector HTTP handler
|
|
And I have URI mappings configured
|
|
When I access a mapped HTTP URI
|
|
Then the request should be redirected to the local file
|
|
And the local file content should be returned
|
|
|
|
Scenario: Redirect HTTPS requests with mappings
|
|
Given I have a redirector HTTPS handler
|
|
And I have URI mappings configured
|
|
When I access a mapped HTTPS URI
|
|
Then the request should be redirected to the local file
|
|
And the local file content should be returned
|
|
|
|
Scenario: Handle file not found in redirection
|
|
Given I have a redirector HTTP handler
|
|
And I have URI mappings to non-existent files
|
|
When I attempt to access a mapped URI
|
|
Then a FileNotFoundError should be raised
|
|
|
|
Scenario: Update URI mappings dynamically
|
|
Given I have an external dependencies interceptor
|
|
When I update the URI mappings
|
|
Then the new mappings should be active
|
|
And requests should use the updated mappings
|
|
|
|
Scenario: Uninstall interceptor
|
|
Given I have an installed external dependencies interceptor
|
|
When I uninstall the interceptor
|
|
Then the interceptor should be removed
|
|
And normal HTTP requests should work
|
|
|