-
Notifications
You must be signed in to change notification settings - Fork 1
/
RFC7009SupportedTest.cs
29 lines (28 loc) · 1.47 KB
/
RFC7009SupportedTest.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
using OAuch.Compliance.Tests.Features;
using OAuch.Shared;
using OAuch.Shared.Enumerations;
using System;
using System.Threading.Tasks;
namespace OAuch.Compliance.Tests.DocumentSupport {
public class RFC7009SupportedTest : Test {
public override string Title => "Does the server support RFC7009 (token revocation)";
public override string Description => "This test determines whether the server supports RFC7009 'OAuth 2.0 Token Revocation'.";
public override TestResultFormatter ResultFormatter => TestResultFormatter.YesGoodNoBad;
public override Type ResultType => typeof(RFC7009SupportedTestResult);
}
public class RFC7009SupportedTestResult : TestResult {
public RFC7009SupportedTestResult(string testId) : base(testId) { }
public override Type ImplementationType => typeof(RFC7009SupportedTestImplementation);
}
public class RFC7009SupportedTestImplementation : TestImplementation {
public RFC7009SupportedTestImplementation(TestRunContext context, RFC7009SupportedTestResult result, TestUriSupportedTestResult testUri) : base(context, result, testUri) { }
public override Task Run() {
if (string.IsNullOrWhiteSpace(Context.SiteSettings.RevocationUri)) {
Result.Outcome = TestOutcomes.SpecificationNotImplemented;
} else {
Result.Outcome = TestOutcomes.SpecificationFullyImplemented;
}
return Task.CompletedTask;
}
}
}