-
Notifications
You must be signed in to change notification settings - Fork 57
/
Copy pathStatelessClient.cs
65 lines (53 loc) · 2.1 KB
/
StatelessClient.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using Supabase.Gotrue;
using SupabaseTests.Models;
using static Supabase.Gotrue.Constants;
using static Supabase.StatelessClient;
namespace SupabaseTests
{
[TestClass]
public class StatelessClient
{
private string supabaseUrl = "http://localhost";
private Supabase.SupabaseOptions options = new()
{
AuthUrlFormat = "{0}:9999",
RealtimeUrlFormat = "{0}:4000/socket",
RestUrlFormat = "{0}:3000"
};
[TestMethod("Can access Stateless REST")]
public async Task CanAccessStatelessRest()
{
var restOptions = GetRestOptions(null, options);
var result1 = await new Supabase.Postgrest.Client(String.Format(options.RestUrlFormat, supabaseUrl), restOptions).Table<Channel>().Get();
var result2 = await From<Channel>(supabaseUrl, null, options).Get();
Assert.AreEqual(result1.Models.Count, result2.Models.Count);
}
[TestMethod("Can access Stateless GoTrue")]
public void CanAccessStatelessGotrue()
{
var gotrueOptions = GetAuthOptions(supabaseUrl, null, options);
var client = new Supabase.Gotrue.Client(gotrueOptions);
var url = client.SignIn(Provider.Spotify);
Assert.IsNotNull(url);
}
[TestMethod("User defined Headers will override internal headers")]
public void CanOverrideInternalHeaders()
{
Supabase.SupabaseOptions options = new Supabase.SupabaseOptions
{
AuthUrlFormat = "{0}:9999",
RealtimeUrlFormat = "{0}:4000/socket",
RestUrlFormat = "{0}:3000",
Headers = new Dictionary<string, string> {
{ "Authorization", "Bearer 123" }
}
};
var gotrueOptions = GetAuthOptions(supabaseUrl, "456", options);
Assert.AreEqual("Bearer 123", gotrueOptions.Headers["Authorization"]);
}
}
}