Skip to content

Add DirectoryServices tests #22114

Closed
Closed
@karelz

Description

@karelz

DirectoryServices has been ported without any test cases (see #14734). The tests require client-server setup (server running on Windows "Desktop" .NET Framework), which we do not support in our CI/test infrastructure.
Moreover the AD test server cannot run as public-internet-facing Azure server for the tests (it is not recommended by AD server team) :(

Idea: Create schema for adding tests, which will run only manually. Write the tests in such way that once we have client-server setup in CI/test infra, it will be easy to wrap them/migrate them into that structure.

Execution plan

  1. Write a single typical-ish simplest DirectorySevices test.
    • The test will run against external AD test server (which can run locally or on another machine).
    • The test can be run only manually, not part of CI. Via special command line script.
    • Note: The test should also pass on full .NET Framework
  2. Create client-server mini-infra for DirectoryServices tests.
    • Create simple unified way to propagate into the test information about the IP/port info of the external AD test server.
    • Enable running those tests manually, until we figure out how to enable client-server tests in CI/Helix test infra.
    • Note: The tests should be runnable also on full .NET Framework
    • Bonus: Make the mini-infra usable also for WCF tests which need Desktop-based WCF server (consider leveraging & partnering with existing WCF test suite - @zhenlan) and Networking tests which need sometimes client/server pieces of their test, currently depending on localhost (@karelz can ping the right experts on his Networking v-team)
  3. Add more tests based on example from [1] and using DirectoryServices mini-infra [2]
    • This will allow us to run all DirectoryServices tests manually.

@tquerec @jay98014 can you please help us /guide us to create [1]. How to install AD test server locally / in a VM? Can you give us one Desktop test for DirectoryServices as example?
We should be able to make progress on [2] and [3] without your direct help.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions