-
Notifications
You must be signed in to change notification settings - Fork 17
Expand file tree
/
Copy pathModelTests.cs
More file actions
115 lines (95 loc) · 7.11 KB
/
Copy pathModelTests.cs
File metadata and controls
115 lines (95 loc) · 7.11 KB
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
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
using OpenFga.Sdk.Model;
using System;
using System.Collections.Generic;
using System.Text.Json;
using System.Threading;
using System.Threading.Tasks;
using Xunit;
namespace OpenFga.Sdk.Test.Models {
public class OpenFgaModelTests : IDisposable {
public void Dispose() {
// Cleanup when everything is done.
}
/// <summary>
/// Deserialize ReadAuthorizationModelsResponse
/// </summary>
[Fact]
public void DeserializeReadAuthorizationModelsResponse() {
var jsonResponse =
"{\"authorization_models\":[{\"id\":\"01FQHMTEX3ASF7TAGZZ828KSQ2\",\"type_definitions\":[{\"type\":\"group\",\"relations\":{\"member\":{\"this\":{}}}},{\"type\":\"folder\",\"relations\":{\"create_file\":{\"computedUserset\":{\"object\":\"\",\"relation\":\"owner\"}},\"owner\":{\"this\":{}},\"parent\":{\"this\":{}},\"viewer\":{\"union\":{\"child\":[{\"this\":{}},{\"computedUserset\":{\"object\":\"\",\"relation\":\"owner\"}},{\"tupleToUserset\":{\"tupleset\":{\"object\":\"\",\"relation\":\"parent\"},\"computedUserset\":{\"object\":\"\",\"relation\":\"viewer\"}}}]}}}},{\"type\":\"doc\",\"relations\":{\"change_owner\":{\"computedUserset\":{\"object\":\"\",\"relation\":\"owner\"}},\"owner\":{\"this\":{}},\"parent\":{\"this\":{}},\"read\":{\"union\":{\"child\":[{\"computedUserset\":{\"object\":\"\",\"relation\":\"viewer\"}},{\"computedUserset\":{\"object\":\"\",\"relation\":\"owner\"}},{\"tupleToUserset\":{\"tupleset\":{\"object\":\"\",\"relation\":\"parent\"},\"computedUserset\":{\"object\":\"\",\"relation\":\"viewer\"}}}]}},\"share\":{\"computedUserset\":{\"object\":\"\",\"relation\":\"owner\"}},\"viewer\":{\"this\":{}},\"write\":{\"union\":{\"child\":[{\"computedUserset\":{\"object\":\"\",\"relation\":\"owner\"}},{\"tupleToUserset\":{\"tupleset\":{\"object\":\"\",\"relation\":\"parent\"},\"computedUserset\":{\"object\":\"\",\"relation\":\"owner\"}}}]}}}}]}],\"continuation_token\":\"\"}";
JsonSerializer.Deserialize<ReadAuthorizationModelsResponse>(jsonResponse);
}
/// <summary>
/// Deserialize ReadAuthorizationModelResponse
/// </summary>
[Fact]
public void DeserializeReadAuthorizationModelResponse() {
var jsonResponse =
"{\"authorization_model\":{\"id\":\"01FQHMTEX3ASF7TAGZZ828KSQ2\",\"type_definitions\":[{\"type\":\"group\",\"relations\":{\"member\":{\"this\":{}}}},{\"type\":\"folder\",\"relations\":{\"create_file\":{\"computedUserset\":{\"object\":\"\",\"relation\":\"owner\"}},\"owner\":{\"this\":{}},\"parent\":{\"this\":{}},\"viewer\":{\"union\":{\"child\":[{\"this\":{}},{\"computedUserset\":{\"object\":\"\",\"relation\":\"owner\"}},{\"tupleToUserset\":{\"tupleset\":{\"object\":\"\",\"relation\":\"parent\"},\"computedUserset\":{\"object\":\"\",\"relation\":\"viewer\"}}}]}}}},{\"type\":\"doc\",\"relations\":{\"change_owner\":{\"computedUserset\":{\"object\":\"\",\"relation\":\"owner\"}},\"owner\":{\"this\":{}},\"parent\":{\"this\":{}},\"read\":{\"union\":{\"child\":[{\"computedUserset\":{\"object\":\"\",\"relation\":\"viewer\"}},{\"computedUserset\":{\"object\":\"\",\"relation\":\"owner\"}},{\"tupleToUserset\":{\"tupleset\":{\"object\":\"\",\"relation\":\"parent\"},\"computedUserset\":{\"object\":\"\",\"relation\":\"viewer\"}}}]}},\"share\":{\"computedUserset\":{\"object\":\"\",\"relation\":\"owner\"}},\"viewer\":{\"this\":{}},\"write\":{\"union\":{\"child\":[{\"computedUserset\":{\"object\":\"\",\"relation\":\"owner\"}},{\"tupleToUserset\":{\"tupleset\":{\"object\":\"\",\"relation\":\"parent\"},\"computedUserset\":{\"object\":\"\",\"relation\":\"owner\"}}}]}}}}]}}";
JsonSerializer.Deserialize<ReadAuthorizationModelResponse>(jsonResponse);
}
/// <summary>
/// Deserialize WriteAuthorizationModelResponse
/// </summary>
[Fact]
public void DeserializeWriteAuthorizationModelResponse() {
var jsonResponse =
"{\"authorization_model_id\":\"01G56QKZCF23KQ1WPQPAK3WXKB\"}";
JsonSerializer.Deserialize<WriteAuthorizationModelResponse>(jsonResponse);
}
/// <summary>
/// Deserialize ReadResponse
/// </summary>
[Fact]
public void DeserializeReadResponse() {
var jsonResponse =
"{\"tuples\":[{\"tuple_key\":{\"object\":\"document:planning\",\"relation\":\"viewer\",\"user\":\"user:jane\"},\"timestamp\":\"2022-01-01T00:00:00.000000000Z\"}]}";
JsonSerializer.Deserialize<ReadResponse>(jsonResponse);
}
/// <summary>
/// Deserialize ReadChangesResponse
/// </summary>
[Fact]
public void DeserializeReadChangesResponse() {
var jsonResponse =
"{\"changes\":[{\"tuple_key\":{\"object\":\"document:planning\",\"relation\":\"viewer\",\"user\":\"user:jane\"},\"operation\":\"TUPLE_OPERATION_WRITE\",\"timestamp\":\"2022-01-01T00:00:00.000000000Z\"},{\"tuple_key\":{\"object\":\"document:0192ab2a-d83f-756d-9397-c5ed9f3cb69a\",\"relation\":\"owner\",\"user\":\"user:anna\"},\"operation\":\"TUPLE_OPERATION_DELETE\",\"timestamp\":\"2022-01-01T00:00:00.000000000Z\"}],\"continuation_token\":\"abcxyz==\"}";
JsonSerializer.Deserialize<ReadChangesResponse>(jsonResponse);
}
/// <summary>
/// Deserialize CheckResponse
/// </summary>
[Fact]
public void DeserializeCheckResponse() {
var jsonResponse =
"{\"allowed\":true,\"resolution\":\"\"}";
JsonSerializer.Deserialize<CheckResponse>(jsonResponse);
}
/// <summary>
/// Deserialize ReadAssertionsResponse
/// </summary>
[Fact]
public void DeserializeReadAssertionsResponse() {
var jsonResponse =
"{\"authorization_model_id\":\"01FQHMTEX3ASF7TAGZZ828KSQ2\",\"assertions\":[{\"tuple_key\":{\"object\":\"document:0192ab2a-d83f-756d-9397-c5ed9f3cb69a\",\"relation\":\"viewer\",\"user\":\"carlos\"},\"expectation\":true}]}";
JsonSerializer.Deserialize<ReadAssertionsResponse>(jsonResponse);
}
/// <summary>
/// Deserialize ExpandResponse
/// </summary>
[Fact]
public void DeserializeExpandResponse() {
var jsonResponse =
"{\"tree\":{\"root\":{\"name\":\"document:0192ab2a-d83f-756d-9397-c5ed9f3cb69a#owner\", \"union\":{\"nodes\":[{\"name\":\"document:0192ab2a-d83f-756d-9397-c5ed9f3cb69a#owner\", \"leaf\":{\"users\":{\"users\":[\"team:product#member\"]}}}, {\"name\":\"document:0192ab2a-d83f-756d-9397-c5ed9f3cb69a#owner\", \"leaf\":{\"tupleToUserset\":{\"tupleset\":\"document:0192ab2a-d83f-756d-9397-c5ed9f3cb69a#owner\", \"computed\":[{\"userset\":\"org:contoso#admin\"}]}}}]}}}}";
JsonSerializer.Deserialize<ExpandResponse>(jsonResponse);
}
/// <summary>
/// Deserialize ListObjectsResponse
/// </summary>
[Fact]
public void DeserializeListObjectsResponse() {
var jsonResponse =
"{\"object_ids\":[\"roadmap\"]}";
JsonSerializer.Deserialize<ListObjectsResponse>(jsonResponse);
}
}
}