Pierre Ossman
e07ca6a8e2
Fix Websock send tests
...
Avoid poking around in the internals and instead test what is actually
sent out on the WebSocket.
2023-05-30 20:48:24 +02:00
Pierre Ossman
336ec86997
Remove internal monitoring from Plain tests
...
Tests should avoid poking in to the internals and should only look at
external behaviour.
2023-05-30 20:11:51 +02:00
Pierre Ossman
0c80c68e92
Avoid hooking in to RFB._fail for tests
...
This is an internal function so we should not be examining it in the
tests. Instead use the well defined public APIs to check for correct
behaviour.
2023-05-30 20:11:51 +02:00
Pierre Ossman
13fa6b5908
Fix last rect test
...
Avoid poking in to internals and instead test that the RFB object
responds correctly to new messages.
2023-05-30 20:11:51 +02:00
Pierre Ossman
549ccc7121
Split RSA-AES test data
...
Make the tests more clear what data is expected in the different stages
of the handshake.
2023-05-30 20:11:51 +02:00
Pierre Ossman
42bc251eb4
Make RSA-AES tests more asynchronous
...
The code tested here makes heavy use of promises, so it is easier to
test things also using promise centric code.
2023-05-30 20:11:51 +02:00
Pierre Ossman
afbb1da4d5
Remove custom RSA-AES event
...
We shouldn't add extra, undocumented, API just for the tests. They need
to figure out less invasive way to probe things.
2023-05-30 20:11:51 +02:00
Pierre Ossman
458405e05d
Merge RSA-AES tests in to RFB tests
...
These test the RFB class, so they should be with all other tests for
that class.
2023-05-30 20:11:51 +02:00
Pierre Ossman
0ee0e96f34
Fix ARD authentication test to send real data
...
Stop bypassing the data handling steps in the test as that means those
parts don't get tested.
2023-05-30 20:11:51 +02:00
Pierre Ossman
71bb6f02cd
Fix Plain authentication test checks
...
We should have constants local for the test function when doing
comparisons or we might have false positives because we compare with
buggy values in the code under test.
2023-05-30 20:11:51 +02:00
Pierre Ossman
79f099108f
Split Plain authentication tests to own section
...
VeNCrypt is a multiplexer for many authentication methods, not just
Plain. So let's split it to its own section, just like other types.
2023-05-30 20:11:51 +02:00
Pierre Ossman
0679c8a801
Test credentials using normal API
...
Avoid poking around in the internals and instead test things using the
official methods and events. This should give us more realistic and
robust tests.
2023-05-30 20:11:51 +02:00
Pierre Ossman
29a50620ff
Avoid touching internals in Tight auth tests
...
We should test using only external manipulation so we don't assume a
specific implementation.
2023-05-30 20:11:51 +02:00
Pierre Ossman
c7c293279b
Remove commented out Tight test case
...
This is not something we intend to implement, so remove this never used
test case.
2023-05-30 20:11:51 +02:00
Pierre Ossman
cd231e53ed
Don't overwrite methods with spies
...
Spies should just attach without modifying the real method, or we might
get unwanted side effects.
2023-05-30 20:11:51 +02:00
Pierre Ossman
3ef57d1600
Fix security to authentication state test
...
The "None" authentication will directly progress past authentication, so
it's not a good type for this test.
2023-05-30 20:11:51 +02:00
Pierre Ossman
da75689f4c
Fix data for empty RRE rect test
...
The given data was not a correct RRE rect.
2023-05-30 20:11:51 +02:00
Pierre Ossman
9b115a4485
Send ArrayBuffer, not Uint8Array in tests
...
This matches the true contents of a WebSocket 'message' event, so should
be a more realistic test.
2023-05-30 20:11:51 +02:00
Pierre Ossman
0dd9678e64
Harmonise extended clipboard tests
...
Let them all follow the same pattern to make things more clear.
2023-05-30 20:11:51 +02:00
Pierre Ossman
91307951d3
Fix cached JPEG test
...
This test didn't really check anything useful as the end result would be
the same if the second JPEG failed to render.
Fix this by clearing the canvas between the images, so we can tell if
the second image actually rendered or not.
2023-05-30 20:11:51 +02:00
Pierre Ossman
a565ae559f
Merge branches 'l10n' and 'fragment' of github.com:CendioOssman/noVNC
2023-05-10 13:23:34 +02:00
Pierre Ossman
0374b4c0fc
Handle translation loading in translation class
...
Let's try to keep as much as possible of the translation handling in a
single place for clarity.
2023-05-10 13:11:51 +02:00
Pierre Ossman
cd1a63b737
Restore history state after tests
...
We don't want to mess up anything permanent in each test or the tests
might start affecting each other.
2023-05-10 12:25:46 +02:00
Pierre Ossman
681632bc9f
Avoid running tests on l10n singleton
...
We want tests to be independent, so we cannot have them modify a shared
state, such as the l10n singleton. Make sure each test instantiates its
own object instead.
2023-04-06 11:11:47 +02:00
Pierre Ossman
a4453c9a26
Special case English translation fallback
...
We should not be listing this in LINGUAS as that gives the impression
that English has en explicit translation. Instead, it is a special case
that the code needs to be explicitly aware of.
This reverts 9a06058
in favour of a more robust fix.
2023-04-05 12:46:17 +02:00
Pierre Ossman
747603c0d5
Also re-enable playback on failures
...
Allows easier testing by being able to run the test multiple times.
2023-04-04 17:02:57 +02:00
Pierre Ossman
c1d2449fb8
Fix playback error message for load failure
...
We expect the promise to be rejected with a string for display to the
user.
2023-04-04 17:02:21 +02:00
pdlan
f974b73137
Cleanup for the cryptographic algorithms that are not supported by SubtleCrypto
2023-01-20 05:54:00 -05:00
Pierre Ossman
12a7c6f0de
Check for Android using userAgent
...
Modern Android systems seem to report "Linux" for navigator.platform, so
we can no longer rely on that.
2022-12-27 12:50:57 +01:00
Pierre Ossman
a187821e4f
Add OS checks for Android and ChromeOS
2022-12-27 12:50:57 +01:00
Pierre Ossman
8fb30fb9dc
Add unit tests for OS detection
2022-12-27 12:50:57 +01:00
Pierre Ossman
ee5e3c5fa3
Refine browser detection
...
Try to follow the principle outlined by Mozilla when detecting browsers
and engines.
2022-12-27 12:50:57 +01:00
Pierre Ossman
88a36370a9
Add unit tests for browser detection
2022-12-27 12:50:57 +01:00
Pierre Ossman
28c9670427
Remove test code for old Chrome
...
We don't care about ancient versions of Chrome anyway, so let's keep
things simple.
2022-12-27 12:50:57 +01:00
Dinglan Peng
b776e1495e
Add MSLogonII security type
2022-12-21 15:52:31 -05:00
Pierre Ossman
6eb17b27a0
Correctly mask non-BMP clipboard characters
...
JavaScript strings use UTF-16 encoding under the hood, but we only want
a single '?' per character we replace. So we need to be more careful
which methods we use when iterating over the clipboard string.
2022-10-27 16:24:27 +02:00
Pierre Ossman
6b555f1f74
Mask unsupported clipboard characters
...
Add a more explicit '?' for characters that the clipboard cannot handle,
instead of getting random junk.
2022-10-27 16:03:22 +02:00
Pierre Ossman
0410cbc190
Remove redundant inspect() override
...
We do this for all RFB tests now, not just these specific assertions.
2022-10-27 16:03:01 +02:00
Pierre Ossman
337fb06535
Restore Websock.allocateBuffers() after tests
...
This was accidentally removed in 0a6aec3578
.
2022-10-27 16:02:02 +02:00
Pierre Ossman
fee115b13f
Update method to limit assertion output
...
Newer versions of the test framework use the inspect() method instead of
toString() for overriding the default output.
2022-10-27 15:59:48 +02:00
Miroslav Šedivý
1971823a4f
auto release keys while meta is held down.
2022-10-15 14:48:39 +02:00
Pierre Ossman
df8d005de9
VeNCrypt should handle classical types
...
VeNCrypt is a superset of the original security types, so it should be
fine to send any of the classical values here as well.
2022-08-18 16:26:33 +02:00
Pierre Ossman
795494ade1
Prefer security types in the server's order
...
This is how TigerVNC has been behaving for years and has worked well
there, so let's follow them.
2022-08-18 16:26:27 +02:00
Pierre Ossman
6719b932cf
Avoiding internal variables for security tests
...
A good test uses only input and output, so let's avoid assuming internal
variable names or behaviours.
2022-08-18 16:26:09 +02:00
Pierre Ossman
5671072dfe
Expect security result for RFB 3.7
...
The cut off was wrong here. 3.7 will send a security result, but not a
security reason. It also fixes the issue that < 3.7 (e.g. 3.3) supports
VNC authentication as well.
2022-08-18 16:25:59 +02:00
Pierre Ossman
8a7089c0c6
Remove redundant security result tests
...
The event is the desired behaviour. RFB._fail() being called is just an
internal detail that we shouldn't care about.
2022-08-18 16:24:24 +02:00
Pierre Ossman
42ec5f3321
Merge branch 'appleremotedesktop' of https://github.com/pauldumais/noVNC
2022-04-05 07:55:14 +02:00
Paul Dumais
e21ed2e689
Added support for Apple Remote Desktop authentication
...
Fixed eslint warnings
Fixing tests that failed
Added unit tests for ARD authentication
Fixed an issue with the ARD rfb version number in the unit tests
Fixed issue with username/password lengths
Username and password lengths are now capped at 63 characters each. Improved code for sign bit on public key bytes.
UTF Encoder username and password before packing it
Change UTF encoding to encode the username and password before packing it to prevent it from being expanded beyond the allowed size. Public key is truncated to proper key length.
Replaced forge with web crypto for ARD authentication
Changed the way in which the async methods are handled, added unit tests to verify ARD encryption output.
Update .eslintignore
2022-04-04 11:40:19 -04:00
Pierre Ossman
eac11d5799
Merge branch 'add-ra2ne-security-type' of https://github.com/pdlan/noVNC
2022-03-10 12:37:34 +01:00
pdlan
a1709b999e
Added support for RSA-AES Unencrypted Security Type
2022-03-08 13:24:26 -05:00