Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • May 04 13:52
    nghhoese commented #70
  • May 02 17:13
    jasper-ci removed as member
  • Apr 25 13:44
    marcindruzgala opened #107
  • Mar 23 08:52
    AdaskoTheBeAsT commented #106
  • Mar 22 18:02
    AdaskoTheBeAsT opened #106
  • Feb 26 02:14
    dependabot[bot] labeled #105
  • Feb 26 02:14
    dependabot[bot] labeled #105
  • Feb 26 02:14
    dependabot[bot] opened #105
  • Feb 26 02:14

    dependabot[bot] on npm_and_yarn

    Bump prismjs from 1.25.0 to 1.2… (compare)

  • Feb 09 15:01

    jeremydmiller on gh-pages

    Documentation Update for 6.1.0 (compare)

  • Feb 06 12:41

    Hawxy on gh-pages

    Documentation Update for 6.1.0 (compare)

  • Feb 06 12:00

    github-actions[bot] on v6.1.0

    (compare)

  • Feb 06 10:29

    Hawxy on master

    Move to package license express… (compare)

  • Feb 06 10:29
    Hawxy closed #104
  • Feb 06 10:28
    Hawxy opened #104
  • Feb 06 10:17

    dependabot[bot] on npm_and_yarn

    (compare)

  • Feb 06 10:17

    Hawxy on master

    Bump nanoid from 3.1.30 to 3.2.… (compare)

  • Feb 06 10:17
    Hawxy closed #102
  • Feb 06 10:17

    Hawxy on master

    v6.1.0 (#103) * Minor code + d… (compare)

  • Feb 06 10:17
    Hawxy closed #103
Jeremy D. Miller
@jeremydmiller
Gotcha. I didn't catch that you were completely wiping out the TokenValidationParameters
JT
@Hawxy
Ah right, so I just ran some tests, the authority must still be a valid OIDC server that the middleware can fetch metadata from, despite not using it as part of the validation.
Jeremy D. Miller
@jeremydmiller
Okay, so I'm not crazy. I've been trying hard to disable the validation and it was still trying to call out.
Also, doing difficult exploratory coding while watching Peppa Pig with a sick 4yo hanging on your arm is not terribly effective.
The simple thing I haven't tried yet is just sticking a ClaimsPrincipal on the HttpContext first.
JT
@Hawxy
That's quite the combination haha
Jeremy D. Miller
@jeremydmiller
In the post configure, I added this to short circuit the callouts:
            // This will deactivate the callout to the OIDC server
            options.ConfigurationManager =
                new StaticConfigurationManager<OpenIdConnectConfiguration>(new OpenIdConnectConfiguration
                {

                });
JT
@Hawxy
Sweet, I assumed there'd be a way to do so.
Jeremy D. Miller
@jeremydmiller
And just adding the ClaimsPrincipal doesn't seem to work:(
JT
@Hawxy
Yeah that looks good. I believe I'd work for our scenario.
Jeremy D. Miller
@jeremydmiller
Just out of curiosity, does anyone still write web services that use Xml?
NRTs was already enabled at the assembly level as part of v4: https://github.com/JasperFx/alba/blob/master/src/Alba/Alba.csproj#L18
.NET 6 project templates will also ship it enabled by default going forward
JT
@Hawxy
It'd be good to get JasperFx/baseline#23 in, as it's a blocker for NRT accuracy within all of the dependents.
Jeremy D. Miller
@jeremydmiller
@Hawxy Baseline 3.2.1 has that. Sorry, I'd taken my eye off the ball on that one
JT
@Hawxy
No problem. I'll get weasel covered and make my way up the stack.
Jacob Krieg
@jkrieg
Hi. I'm using AlbaHost to test our endpoints, but I'm having some trouble with IScenarioResult's readers. I have content in the body, there's a content length, and a content-type of application/json. But the result's ReadAsJson comes back as null. When I force the response body into a stream reader I get the full body back.
ReadAsText also comes back empty.
Jacob Krieg
@jkrieg
For reference, this is on Alba v5.
Jeremy D. Miller
@jeremydmiller
On the response coming back? How is the body written in the real request? Is it a 200 response? You can see that there’s non-zero content in the Response body stream? ReadAsText() is just rewinding the Response body and pulling the string out. Are you completely sure there’s actually bytes written to the response body?
Jacob Krieg
@jkrieg
yes, the response coming back. 200, .Context.Response.Headers.ContentLength. Used StreamReader and got back a full JSON string. ReadAsText resulted in an empty string from the IScenarioResult. Of course, reading the bytes directly causes the stream to not be readable the second time though.
I was thinking there was something not set up correctly on our end.
Jacob Krieg
@jkrieg
ok, I have text from ReadAsText this time.
I think maybe I had kept the ReadAsJson in the code previously, and that stopped it from reading text.
Jeremy D. Miller
@jeremydmiller
Well, yeah, it’s not built to be reentrant like that, but maybe it really should be because duh. ;-)
Jacob Krieg
@jkrieg
I've narrowed it down to something specific to a model I'm using. I can ReadAsJson<object> and though it's obviously not going to give me what I want because object, it proves to be working. Thanks for responding.
Jeremy D. Miller
@jeremydmiller
That would fail if the JSON serialization fails. May need to fail more obviously
Jacob Krieg
@jkrieg
Solved the problem, Jeremy. We are in the midst of implementing NodaTime to our solution, and had a missing serialization setting to account for it. Thanks again.
Jeremy D. Miller
@jeremydmiller
Gotcha. That's happened before. So it's really a serialization issue, but Alba made it look like it was a content problem? I'm gonna call that an opportunity for improvement then. Thank you letting me know!
srollinet
@srollinet

Hi! I have the same issue with Alba v5 returning an empty result when using Scenario.

            var response = await Host.Scenario(x =>
            {
                x.Get.Url("/static/countries");
                x.StatusCodeShouldBeOk();
                x.ContentShouldContain("Mexico");
            });

            var output = response.ReadAsJson<List<CountryResponse>>(); // null
            var output2 = await Host.GetAsJson<List<CountryResponse>>("/static/countries"); // ok

Note, ContentShouldContain works as expected

Jeremy D. Miller
@jeremydmiller
@srollinet It's not rewinding the stream, I think it'll be an easy fix
Jeremy D. Miller
@jeremydmiller
Hey everybody, there's a new Alba v5.0.1 on Nuget just now. This is to resolve some issues with JSON serialization for #92 and #93. The response reading is now reentrant, meaning that you can do ReadAsJson()/ReadAsText() in any order as many times as you'd like. There's also more visibility into JSON serialization errors or empty content when trying to execute ReadAsJson() for easier to diagnose test failures
The next Alba release -- maybe next week -- will be to make sure it's good on .Net 6. I'd like to add a sample of using Alba with the new minimal APIs
JT
@Hawxy
Would it be possible to add extensions to remove or replace claims within a scenario?
We have a number of tests that rely on the ability to change the tenant ID or other token data mid-run.
Jeremy D. Miller
@jeremydmiller
@Hawxy Nothing today, it’s just additive. But also probably not a huge deal to change to give you better control over that. Sounds like a very helpful PR
JT
@Hawxy
Cool, I'll investigate and put something up.
JT
@Hawxy
btw I pushed up #96
JT
@Hawxy
Any chance of getting this in? Unfortunately it's a blocker for us moving to v5.
Hallstein Brøtan
@hallstein82_twitter
Any news on supporting .NET 6? Documentation on how to create a test fixture with only Program.cs would be highly appreciated.
JT
@Hawxy
There might need to be a new overload that uses WebApplicationFactory<TEntryPoint>, as the internal HostFactoryResolver is required to resolve the minimal host.
I'm not wild about messing with WebApplicationFactory, but we can try that too.
JT
@Hawxy
Can't say I'm a huge fan of needing a bespoke minimal API design to fit Alba.
I did a bit of work spiking integration with WebApplicationFactory, let me know what you think of #97.
JT
@Hawxy
In theory you could move everything that lives in AlbaHost into the factory and standardize on it across the board, although at the cost of ForStartup and consumers with unusual entry-points.
Jeremy D. Miller
@jeremydmiller
I think the ForStartup() needs to die and go away anyway. Too much other stuff potentially happens on HostBuilder. I need to think about it a touch more, but I’m inclined to agree with the approach in that PR. Now that I understand the magic of how WebApplicationFactory resolves things w/o having to duplicate all the project configuration, I think I’m good with what you did.