Skip to content

Conversation

@f3l1x
Copy link
Member

@f3l1x f3l1x commented Dec 14, 2025

No description provided.

claude and others added 13 commits December 14, 2025 09:39
Add server-side code examples to complement existing client samples:
- server1.php: Basic SOAP server with simple RPC/encoded methods
- server2.php: Server with complex types (Person struct, arrays)
- server3.php: Server with nested complex types (Order, Customer, Address)
- server4.php: Document/literal style server (WS-I compliant)

Add comprehensive server tests covering:
- Server instantiation and backward compatibility
- WSDL configuration and generation
- Method registration
- Complex type definitions
- Fault handling

Resolves #74
Add end-to-end tests that verify server functionality by:
- Sending actual SOAP requests and validating responses
- Testing sayHello and addNumbers methods
- Verifying WSDL generation
- Testing fault handling for invalid methods
- Testing complex type serialization (Person struct)
- Validating WSDL XML structure
- Testing multiple sequential requests
- Testing empty parameter handling

These tests require PHP extensions (xml) to run properly.
Use: vendor/bin/tester tests/Cases/ -C
Split NusoapServerTest.phpt into separate test files by concern:
- Server/NusoapServer.instantiation.phpt - server instantiation tests
- Server/NusoapServer.wsdl.phpt - WSDL configuration tests
- Server/NusoapServer.register.phpt - method registration tests
- Server/NusoapServer.complexTypes.phpt - complex type tests
- Server/NusoapServer.fault.phpt - fault handling tests

Move E2E tests to dedicated directory:
- E2E/NusoapServer.phpt - end-to-end server tests

Update Makefile:
- Consolidate .PHONY declarations
- Add tests directory to lint target
- Require PHP 8.2+
- Add contributte/qa for code style checking
- Add contributte/phpstan for static analysis
- Update homepage URL to contributte/nusoap
- Add minimum-stability and prefer-stable settings
- Add phpstan.neon with level 5 analysis for PHP 8.2+
- Add ruleset.xml with Contributte coding standards
- Add cs target for CodeSniffer with GitHub Actions support
- Add csf target for automatic code style fixing
- Add phpstan target for static analysis
- Keep tests and coverage targets
- Update tests.yml to use reusable nette-tester workflow
- Add phpstan.yml for static analysis CI
- Add codesniffer.yml for code style CI
- Add coverage.yml for code coverage reporting
- Remove old lint.yml (replaced by codesniffer)
- Add weekly schedule and workflow_dispatch triggers
- Add lowest dependency testing
- Add tests/.gitignore for test-specific ignores
- Clean up root .gitignore
@f3l1x f3l1x merged commit 3b94e51 into master Dec 25, 2025
5 checks passed
@f3l1x f3l1x deleted the claude/add-server-examples-tests-0JUv9 branch December 25, 2025 19:53
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.

3 participants