Skip to content

Commit

Permalink
Add callback tests
Browse files Browse the repository at this point in the history
  • Loading branch information
gsutton authored and garrett-sutton committed Jan 24, 2025
1 parent 9dcb623 commit 333c03b
Showing 1 changed file with 91 additions and 0 deletions.
91 changes: 91 additions & 0 deletions tests/NATS.Client.Core.Tests/NatsConnectionTest.Auth.cs
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,21 @@ NatsOpts.Default with
}),
};

yield return new object[]
{
new Auth(
"USER-PASSWORD (AuthCallback takes precedence over Username & Password)",
"resources/configs/auth/password.conf",
NatsOpts.Default with
{
AuthOpts = NatsAuthOpts.Default with {
Username = "invalid",
Password = "invalid",
AuthCredCallback = async (_, _) => await Task.FromResult(NatsAuthCred.FromUserInfo("a", "b")),
},
}),
};

yield return new object[]
{
new Auth(
Expand All @@ -56,6 +71,22 @@ NatsOpts.Default with
}),
};

yield return new object[]
{
new Auth(
"NKEY (AuthCallback takes precedence over NKey & Seed)",
"resources/configs/auth/nkey.conf",
NatsOpts.Default with
{
AuthOpts = NatsAuthOpts.Default with
{
AuthCredCallback = async (_, _) => await Task.FromResult(NatsAuthCred.FromNkey("SUAAVWRZG6M5FA5VRRGWSCIHKTOJC7EWNIT4JV3FTOIPO4OBFR5WA7X5TE")),
NKey = "invalid nkey",
Seed = "invalid seed",
},
}),
};

yield return new object[]
{
new Auth(
Expand All @@ -67,6 +98,21 @@ NatsOpts.Default with
}),
};

yield return new object[]
{
new Auth(
"NKEY (FROM FILE) (AuthCallback takes precedence over original file)",
"resources/configs/auth/nkey.conf",
NatsOpts.Default with
{
AuthOpts = NatsAuthOpts.Default with
{
NKeyFile = string.Empty,
AuthCredCallback = async (_, _) => await Task.FromResult(NatsAuthCred.FromNkeyFile("resources/configs/auth/user.nk")),
},
}),
};

yield return new object[]
{
new Auth(
Expand All @@ -83,6 +129,22 @@ NatsOpts.Default with
}),
};

yield return new object[]
{
new Auth(
"USER-CREDS (AuthCallback takes precedence over Jwt & Seed)",
"resources/configs/auth/operator.conf",
NatsOpts.Default with
{
AuthOpts = NatsAuthOpts.Default with
{
AuthCredCallback = async (_, _) => await Task.FromResult(NatsAuthCred.FromJwt("eyJ0eXAiOiJKV1QiLCJhbGciOiJlZDI1NTE5LW5rZXkifQ.eyJqdGkiOiJOVDJTRkVIN0pNSUpUTzZIQ09GNUpYRFNDUU1WRlFNV0MyWjI1TFk3QVNPTklYTjZFVlhBIiwiaWF0IjoxNjc5MTQ0MDkwLCJpc3MiOiJBREpOSlpZNUNXQlI0M0NOSzJBMjJBMkxPSkVBSzJSS1RaTk9aVE1HUEVCRk9QVE5FVFBZTUlLNSIsIm5hbWUiOiJteS11c2VyIiwic3ViIjoiVUJPWjVMUVJPTEpRRFBBQUNYSk1VRkJaS0Q0R0JaSERUTFo3TjVQS1dSWFc1S1dKM0VBMlc0UloiLCJuYXRzIjp7InB1YiI6e30sInN1YiI6e30sInN1YnMiOi0xLCJkYXRhIjotMSwicGF5bG9hZCI6LTEsInR5cGUiOiJ1c2VyIiwidmVyc2lvbiI6Mn19.ElYEknDixe9pZdl55S9PjduQhhqR1OQLglI1JO7YK7ECYb1mLUjGd8ntcR7ISS04-_yhygSDzX8OS8buBIxMDA", "SUAJR32IC6D45J3URHJ5AOQZWBBO6QTID27NZQKXE3GC5U3SPFEYDJK6RQ")),
Jwt = "not a valid jwt",
Seed = "invalid nkey seed",
},
}),
};

yield return new object[]
{
new Auth(
Expand All @@ -93,6 +155,35 @@ NatsOpts.Default with
AuthOpts = NatsAuthOpts.Default with { CredsFile = "resources/configs/auth/user.creds", },
}),
};

yield return new object[]
{
new Auth(
"USER-CREDS (FROM FILE) (AuthCallback takes precedence over original file)",
"resources/configs/auth/operator.conf",
NatsOpts.Default with
{
AuthOpts = NatsAuthOpts.Default with
{
CredsFile = string.Empty,
AuthCredCallback = async (_, _) => await Task.FromResult(NatsAuthCred.FromCredsFile("resources/configs/auth/user.creds")),
},
}),
};

yield return new object[]
{
new Auth(
"Token (AuthCallback takes precedence over Token)",
"resources/configs/auth/token.conf",
NatsOpts.Default with
{
AuthOpts = NatsAuthOpts.Default with {
Token = "won't be used",
AuthCredCallback = async (_, _) => await Task.FromResult(NatsAuthCred.FromToken("s3cr3t")),
},
}),
};
}

[Theory]
Expand Down

0 comments on commit 333c03b

Please sign in to comment.