This is a multi-stage test. Click on "done" when you have completed reading these instructions.

First, policytool will be invoked. During the entire test, make sure that all the buttons, menu options, error messages, and output messages are comprehensible (you can read all the english text fine). If at any time an exception is thrown, or if any message is incomprehensible, then the test failed. Otherwise, the test passed.

Press "Pass" if ... press "Fail" otherwise.

1. Pull down the 'File' and 'KeyStore' menus and check values
2. Pull down 'File' menu and select 'View Warning Log'. Confirm FileNotFound.
3. Pull down 'File' menu and select 'New'.
4. Pull down 'File' menu and select 'View Warning Log'. Confirm empty.
5. Click on 'Add Policy Entry' and check pop-up window
6. Click on 'Edit Permission' and 'Remove Permission' and check error messages
7. Click on 'Add Permission' and check pop-up window
8. Pull down 'Permission' menu and check values
9. Select 'AWTPermission', pull down 'Target Name' and check values
10. Select 'FilePermission', pull down 'Target Name' and 'Actions' and check values.
11. Select 'NetPermission', pull down 'Target Name' and check values
12. Select 'PropertyPermission', pull down 'Actions' and check values
13. Select 'ReflectPermission', pull down 'Target Name' and check values
14. Select 'RuntimePermission', pull down 'Target Name' and check values
15. Select 'SecurityPermission', pull down 'Target Name' and check values
16. Select 'SerializablePermission', pull down 'Target Name' and check values
17. Select 'SocketPermission', pull down 'Actions' and check values
18. Type "www.example.com" for SocketPermission 'TargetName', and "connect" for 'Actions'
19. Click OK
20. Check new entry
21. Click once on new entry
22. Click on 'Edit Permission' and confirm values
23. Select AudioPermission. Confirm 'Target Name' and 'Actions' cleared.
24. Select "play" from Target menu.
25. Click OK, confirm changed permission.
26. Type "hello" for 'CodeBase', click on 'Done', and check error message
27. Type "hello" for 'SignedBy', click on 'Done', and check warning message
28. Click, on 'Edit Policy Entry' and 'Remove Policy Entry' and check error messages
29. Select policy entry, click on 'Edit Policy Entry', and check pop-up window
30. Select policy entry, click on 'Remove Policy Entry', and check pop-up window
31. Do not remove the entry, click 'Cancel'.
32. Pull down 'File' menu and select 'Exit'. Confirm Save option. Click 'Cancel'.
33. Select 'File' menu value 'Save', enter "/tmp/policy1" as the filename, and check status message
34. Select 'File' menu value 'New'
35. Click 'Add Policy Entry', type in "hello" for 'SignedBy' field, click 'Done'. Confirm warning.
36. Select 'File' menu value 'Open' and confirm save option (do not save changes)
37. Type "/tmp/policy1" for the filename and confirm warning message
38. Pull down 'File' menu, select 'View Warning Log' and confirm KeyStore alias warning
39. Pull down 'KeyStore' menu and select 'Edit'
40. Enter 'foo' as KeyStore URL and check error
41. Using keytool create JKS keystore
42. Enter KeyStore URL but leave other fields empty. Should succeed.
43. Pull down 'KeyStore' menu and select 'Edit'
44. Confirm URL and Type values.
45. Enter 'foo' as the provider and check error message.
46. Enter 'SUN' as the provider. Should succeed.
47. Pull down 'KeyStore' menu and select 'Edit'
48. Confirm URL, Type, and Provider values.
49. Enter 'foo' as the password URL and check error message.
50. Enter URL with bad password and check error message.
51. Enter URL with good password. Should succeed.
52. Pull down 'KeyStore' menu and select 'Edit'
53. Confirm URL, Type, Provider, and Password URL values.
54. Click OK
55. Pull down 'File' menu and select 'Save As'. Enter /tmp/policy2. Confirm status message.
56. Pull down 'File' menu and select 'New'.
57. Pull down 'File' menu and select 'Open'. Enter /tmp/policy2. Confirm warning message.
58. Click on 'Add Policy Entry', enter Codebase 'http://foo', SignedBy 'bar'. Click on 'Done' and confirm alias warning.
59. Double-Click on just created policy entry, confirm edit window appears.
60. Change SignedBy to an alias in previously created keystore.
61. Click on Done and confirm it worked with no warning.
62. Double-Click on "SignedBy hello" policy entry and confirm edit window appears.
63. Click on Edit/Remove Principal, confirm errors.
64. Click on 'Add Principal' and check new window.
65. Click on 'OK' and confirm error message (no principal name)
66. Enter valid KeyStore alias as principal name, click OK and confirm status message.
67. Confirm new principal in Principals list.
68. Click on 'Done' (creating policy entry), confirm alias warning.
69. View warning log and confirm X500Principal/KeyStore alias message.
70. Confirm principal added to policy entry in main window listing.
71. Double click on that entry.
72. Enter codebase "file:/foobar".
73. Click on 'Add Principal'. Select KerberosPrincipal. enter 'foo' as name. Click OK.
74. Confirm new principal in list.
75. Double-click on new principal. Select X500Principal. Confirm name cleared. Type 'foo' as name. Click OK. Confirm error. type 'cn=foo' as name. Click OK. should succeed.
76. Confirm changed principal in list.
77. Click on 'Add Permission', and add any FilePermission.
78. Click on 'Done' in Policy Entry window. Confirm alias warning.
79. Confirm entries in main window listing.
80. Select 'File' menu value 'Exit'
81. Save Changes, confirm status message.