Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • Nov 29 19:40

    github-actions[bot] on v6.0.0

    (compare)

  • Nov 29 19:16

    jeremydmiller on master

    adding .net 6 to the gh actions (compare)

  • Nov 29 19:15
    jeremydmiller closed #32
  • Nov 29 19:15
    jeremydmiller commented #32
  • Nov 29 19:14

    jeremydmiller on master

    customizations are applied thro… can use Alba web application fa… (compare)

  • Nov 29 17:28
    jeremydmiller closed #95
  • Nov 29 17:28

    jeremydmiller on master

    hardening the assertion excepti… (compare)

  • Nov 29 17:27
    jeremydmiller commented #95
  • Nov 29 17:06

    jeremydmiller on master

    Working WebApplicationFactory e… (compare)

  • Nov 29 17:06
    jeremydmiller closed #97
  • Nov 22 03:21
    Hawxy ready_for_review #97
  • Nov 20 11:19
    Hawxy opened #97
  • Nov 19 19:55

    jeremydmiller on master

    updated docs a tiny bit for rem… initial concept for using Alba … (compare)

  • Nov 19 19:55
    jeremydmiller commented #95
  • Nov 19 19:52
    jeremydmiller labeled #95
  • Nov 19 19:52
    jeremydmiller closed #83
  • Nov 19 19:52
    jeremydmiller commented #83
  • Nov 19 14:40

    jeremydmiller on master

    adding the missing bullseye bui… (compare)

  • Nov 19 14:25

    jeremydmiller on master

    WIP scenario claim modification Rework implementation, fix test… Bump version (compare)

  • Nov 19 14:25
    jeremydmiller closed #96
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.
Oakton is going to be a totally different problem, but that’s later next week’s problem
Thank you for doing that!
JT
@Hawxy
No problem. You might've seen it already but Andrew Lock has some great articles around the HostFactoryResolver internals: https://andrewlock.net/exploring-dotnet-6-part-5-supporting-ef-core-tools-with-webapplicationbuilder/
Jeremy D. Miller
@jeremydmiller
@Hawxy I pulled your PR in today. Added a tiny bit more tests, and made some mild adjustments, but it's looking good right now.
Jeremy D. Miller
@jeremydmiller
Alba 7.0 is up with support for WebApplication & WebApplicationBuilder. Docs and a blog post will follow later this week or next.
JT
@Hawxy
Sweet!
JT
@Hawxy
I did have another branch in the works that's more aggressive and removes everything apart from the WebApplicationFactory extensions, cleaning up the AlbaHost quite a bit. The ecosystem might not be ready for that yet though :)
Jeremy D. Miller
@jeremydmiller
I was impatient to shoot that one out. Trying to clear the deck fast for the .Net 6 stuff. I don’t want to drop support for IHostBuilder at the least. No reason to strip out stuff that works in .Net 5/6