Skip to content
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

Add integration tests for interoperability testing with other extensions libraries #82

Open
sangonzal opened this issue Dec 2, 2020 · 2 comments
Labels
enhancement New feature or request

Comments

@sangonzal
Copy link

We should have automated tests for validating interoperability in between .NET, Java, and Node extensions libraries. The tests can live in one repository, as the cache interoperability tests do.

@sangonzal sangonzal added the enhancement New feature or request label Dec 2, 2020
@rayluo
Copy link
Contributor

rayluo commented Dec 3, 2020

What kind of test cases do you have in mind?

tests for validating interoperability in between ... extensions libraries ... as the cache interoperability tests do

Not sure how other MSAL EX are implemented. MSAL EX for Python does not control the cache schema, so, the two things that I highlighted above, are the same thing in Python side, thus already covered by the "cache interoperability tests" that you mentioned (although we could always add more test cases into it, if that's what you mean).

MSAL EX's job is encryption and locking. It is true that we do not currently have interoperability test cases for these 2 areas.

@sangonzal
Copy link
Author

Yes, that's right, encryption and locking are the two areas of interest here. I don't think encryption necessarily needs to be tested, as the libraries use all of the same system APIs (DPAPI on Windows for all libraries, Keychain on Mac, Keyring on Linux). What should be tested though is file locking in between libraries. Specifically that filelocks are respected across libraries (if a Python process has a lock, the Java process should hold off until the lock is released, and vice versa). This could be scaled to multiple processes as a stress test, as some of the unit tests already do in Python. These tests could actually be added to the cache interoperability test framework that already exists, in which we could test both schema and the extensions - the whole E2E customer experience.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants