Browse Source

Add tests for unauthenticated websocket access

Bond_009 4 years ago
parent
commit
fbd9141ecd
1 changed files with 32 additions and 0 deletions
  1. 32 0
      tests/Jellyfin.Server.Integration.Tests/WebSocketTests.cs

+ 32 - 0
tests/Jellyfin.Server.Integration.Tests/WebSocketTests.cs

@@ -0,0 +1,32 @@
+using System;
+using System.Threading;
+using System.Threading.Tasks;
+using Xunit;
+
+namespace Jellyfin.Server.Integration.Tests
+{
+    public sealed class WebSocketTests : IClassFixture<JellyfinApplicationFactory>
+    {
+        private readonly JellyfinApplicationFactory _factory;
+
+        public WebSocketTests(JellyfinApplicationFactory factory)
+        {
+            _factory = factory;
+        }
+
+        [Fact]
+        public async Task WebSocket_Unauthenticated_ThrowsInvalidOperationException()
+        {
+            var server = _factory.Server;
+            var client = server.CreateWebSocketClient();
+
+            await Assert.ThrowsAsync<InvalidOperationException>(
+                () => client.ConnectAsync(
+                    new UriBuilder(server.BaseAddress)
+                    {
+                        Scheme = "ws",
+                        Path = "websocket"
+                    }.Uri, CancellationToken.None));
+        }
+    }
+}