Hi Mikhail,
Thank you for your detailed scenarios, I'm trying to implement the
MasterPasswordRequestHandler, and I need you to help me with this question:
As the example in uui/source/iahndl.cxx, function
handleMasterPasswordRequest() shows, a MasterPasswordDialog is executed
with LoginErrorInfo, in our case should we create this dialog, too? Or
should we skip this step and simply setPassword() to the fixed string? I
suppose the choice would be the latter one.. Because in the first choice
we will have to implement the LoginErrorInfo class too, and all that
seem not so necessary. Could you confirm that please?
Thanks and Best Regards,
Felix.
Mikhail Voitenko
Hi Felix,
First of all you will need to write an own InteractionHandler to write
the unit tests. It will be close to the implementation you have done
already, but this time in Java. The InteractionHandler should handle
only com.sun.star.task.MasterPasswordRequest.
A good example is the default implementation in uui/source/iahndl.cxx,
please just look for MasterPasswordRequest. The new implementation
should set a 32 character string containing 0-9 and a-z symbols ( this
is a digest, so it should contain hexadecimal digits ) to the
continuation.
After the InteractionHandler implementation is ready it can be used to
write the tests. Please see some schematic scenario examples below.
scenario1:
- use XPasswordContainer::add() to add a set of users and passwords
for the same URL for runtime
- use XPasswordContainer::remove() to remove some of them
- use XPasswordContainer::find() to get the result and check it with
the expected one
- use XPasswordContainer::remove() to remove the runtime passwords
scenario2:
- use XMasterPasswordHandling::allowPersistentStoring( true ) to allow
the storing of the passwords
- use XPasswordContainer::addPersistent() to add a set of users and
passwords for the same URL persistently
- use XPasswordContainer::remove() to remove some of them
- use XPasswordContainer::find() to get the result and check it with
the expected one
- use XPasswordContainer::getAllPersistent() to check the result
- use XPasswordContainer::removeAllPersistent() to remove all the
persistent passwords
- use XPasswordContainer::remove() to remove the runtime passwords
- use XMasterPasswordHandling::allowPersistentStoring( false ) to
disallow the storing of the passwords
scenario3:
- use XMasterPasswordHandling::allowPersistentStoring( true ) to allow
the storing of the passwords
- use XPasswordContainer::addPersistent() to add a set of users and
passwords for the same URL persistently
- use XPasswordContainer::add() to add the same set of users with
different passwords for the same URL for runtime
- use XPasswordContainer::find() to get the result for the URL and
check that it contains persistent and runtime passwords ( will fail in
the current master )
- use XPasswordContainer::removeAllPersistent() to remove all the
persistent passwords
- use XPasswordContainer::remove() to remove the runtime passwords
- use XMasterPasswordHandling::allowPersistentStoring( false ) to
disallow the storing of the passwords
This is only a short description so the questions are as always welcome.
Best Regards,
Mikhail.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]