Class LoginAsAttribute<TStrategy>

Namespace
ProtoTest.Web
Assembly
ProtoTest.Web.dll

Logs a named Web session in during test setup using an application-owned TStrategy, without storing credentials in attribute metadata. Usage: [LoginAs<AdminUiLogin>("Administrator")] or [LoginAs<ApiTokenLogin>("Administrator", "tenant-a")]

[AttributeUsage(AttributeTargets.Class|AttributeTargets.Method, AllowMultiple = true, Inherited = true)]
public sealed class LoginAsAttribute<TStrategy> : ProtoAttribute where TStrategy : class, IWebLoginStrategy

Type Parameters

TStrategy
Inheritance
LoginAsAttribute<TStrategy>
Inherited Members
Extension Methods

Constructors

LoginAsAttribute(string, params object[])

Logs a named Web session in during test setup using an application-owned TStrategy, without storing credentials in attribute metadata. Usage: [LoginAs<AdminUiLogin>("Administrator")] or [LoginAs<ApiTokenLogin>("Administrator", "tenant-a")]

public LoginAsAttribute(string persona, params object[] constructorArgs)

Parameters

persona string
constructorArgs object[]

Properties

Persona

public string Persona { get; }

Property Value

string

Session

public string Session { get; init; }

Property Value

string

Methods

BeforeTestAsync(ProtoExecutionContext)

Executed asynchronously before the decorated test or class tests execute.

public override Task BeforeTestAsync(ProtoExecutionContext context)

Parameters

context ProtoExecutionContext

Returns

Task