We are attempting to integrate our some unit tests related to our LexActivator implementation and I was noticing some weird behavior that I was hoping to get some clarification on. It appears, at least from my test cases, that if:
- I have a machine that has successfully activated a valid node-locked license policy (verified by asserting the return status of IsLicenseGenuine == 0)
- Then replace the license key with what should be an invalid key (say something like “BadKey123”). This causes both IsLicenseGenuine() and ActivateLicense() to return non-zero status: 1 (general failure) for IsLicenseGenuine() and 54 (invalid license key) for ActivateLicense(). This is expected.
- Replace the license key back with the original valid one. However, I am seeing this causes IsLicenseGenuine to return a status of 1, which triggers a call to ActivateLicense(), which is then successful.
Does this seem correct? Am I experimenting with a weird edge case? Or more importantly, are there status codes within LexActivator (such as the 54 I’m receiving above), that might invalidate a local activation or at least explain why I am seeing IsLicenseGenuine() returning a non-zero status once the original license is replaced (which was used to activate the machine)?
Thank you in advance!