-
Notifications
You must be signed in to change notification settings - Fork 55
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
There is no way to extract deployment-created room IDs after the fact #254
Comments
100% agreed, I just haven't thought of a good way to do this yet. It's a bit of a shame that blueprints are mostly just used to create servers / users only at present. |
Maybe we can alter blueprint in general to assign those generated variables to "known names", so that afterwards we can simply do |
Looks like we have a mechanism for saving the access tokens we create for users - could we do something for saving room ids? |
We do - this is done via labels on the docker image. The problem comes in the API. It's easy to say map Whilst it is slower to have to create rooms in each test, it is undoubtedly clearer when you can see the creation content, the creator, etc up front, and that has intrinsic value. For example, it was via this mechanism that we accidentally found out that Dendrite and Synapse disagree on what the We could maybe cache the (creator, creation content) and if the client calls |
Well, I don't disagree with that, but if that's the path you'd prefer to go down, shall we just clear all the room-creation out of the blueprints? It feels very odd that we create them and then never use them. |
Why not use the |
And then have something like |
Room functionality is used with Homerunner and the whole account snapshot stuff, so we cannot just remove them entirely.
This doesn't help make it clear what the room is configured with. Removing room functionality in Complement tests is something I'm considering, mostly because it cannot provide a clear API surface when you read tests. However, at that point one can question the value of blueprints in Complement: it's only really useful to spin up multiple homeservers and a few users. Blueprints were originally conceived as a way to speed up tests by providing a clear, well-known snapshot to base your tests on. It was hard to know back then which snapshots would be useful as we lacked many tests. I think there is value in going back through the existing tests to look for commonality which could benefit from being made into a blueprint. If no such commonality exists, then really rooms support should be removed. |
Alternatively we could allows snapshots in tests. This would allow people to roll back to earlier states to test things. This is similar to blueprints but instead of having them be static structs they are formed by earlier commands in the tests. |
This is something i found while looing at
BlueprintOneToOneRoom
, and seeing where its one-on-one room has been (re)used in any tests.Turns out, it doesnt, every test creates its own additional rooms, which makes pre-setting or otherwise prefilling a room with events feel a bit moot.
I think it would help if there's some way to extract "execution results" (IDs) from a
Deployment
object after it has been finalised, to then act upon and work with the deployed template, this would make templates a bit more useful.The text was updated successfully, but these errors were encountered: