{"action":"created","issue":{"url":"https://api.github.com/repos/Particular/NServiceBus/issues/3416","repository_url":"https://api.github.com/repos/Particular/NServiceBus","labels_url":"https://api.github.com/repos/Particular/NServiceBus/issues/3416/labels{/name}","comments_url":"https://api.github.com/repos/Particular/NServiceBus/issues/3416/comments","events_url":"https://api.github.com/repos/Particular/NServiceBus/issues/3416/events","html_url":"https://github.com/Particular/NServiceBus/pull/3416","id":131385837,"number":3416,"title":"Redesigned container tests for new core assumptions","user":{"login":"danielmarbach","id":174258,"avatar_url":"https://avatars.githubusercontent.com/u/174258?v=3","gravatar_id":"","url":"https://api.github.com/users/danielmarbach","html_url":"https://github.com/danielmarbach","followers_url":"https://api.github.com/users/danielmarbach/followers","following_url":"https://api.github.com/users/danielmarbach/following{/other_user}","gists_url":"https://api.github.com/users/danielmarbach/gists{/gist_id}","starred_url":"https://api.github.com/users/danielmarbach/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/danielmarbach/subscriptions","organizations_url":"https://api.github.com/users/danielmarbach/orgs","repos_url":"https://api.github.com/users/danielmarbach/repos","events_url":"https://api.github.com/users/danielmarbach/events{/privacy}","received_events_url":"https://api.github.com/users/danielmarbach/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":14,"created_at":"2016-02-04T15:40:23Z","updated_at":"2016-02-10T13:09:15Z","closed_at":"2016-02-10T11:47:04Z","pull_request":{"url":"https://api.github.com/repos/Particular/NServiceBus/pulls/3416","html_url":"https://github.com/Particular/NServiceBus/pull/3416","diff_url":"https://github.com/Particular/NServiceBus/pull/3416.diff","patch_url":"https://github.com/Particular/NServiceBus/pull/3416.patch"},"body":"I have a hunch a few of the container test in the core were not quite right. This is an attempt to fix it.\r\n\r\nImplemented with\r\n\r\n* AutoFac\r\n\r\nSmoke tested my changes with\r\n\r\n* CastleWindsor\r\n\r\n## Thoughts\r\n\r\n* Unit of Work components resolved on the main conatiner should be singletons on the maint container\r\n* Lambda Unit of Work components resolved on the main conatiner should be singletons on the maint container\r\n* TransientClass for when_releasing_components should at least implement `IDisposable`. For example for Windsor a transient class is only tracked if it implements a decomision concern like `IDisposable`. Without that we would essentially only test the runtime and the garbage collector because `Release` is a noop.\r\n* Removed the threads from `Instance_per_uow_components_should_not_be_shared_across_child_containers`. We explicitely want this test to fail if someone implements it with `ThreadScope`\r\n* It should not be possible to reconfigure a child container. From the core perspectice we only get `IBuilder` after the bus is started and we create child builders. \r\n* `UoW_components_should_by_instance_per_call_in_root_container` was plain wrong in my opinion. The correct test is `UoW_components_should_be_singletons_in_root_container`\r\n* `Should_dispose_all_IDisposable_components_in_child_container` belongs to child container tests\r\n\r\n\r\n@Particular/nservicebus-maintainers thoughts?\r\n\r\ncc @WilliamBZA "},"comment":{"url":"https://api.github.com/repos/Particular/NServiceBus/issues/comments/182365565","html_url":"https://github.com/Particular/NServiceBus/pull/3416#issuecomment-182365565","issue_url":"https://api.github.com/repos/Particular/NServiceBus/issues/3416","id":182365565,"user":{"login":"timbussmann","id":3524870,"avatar_url":"https://avatars.githubusercontent.com/u/3524870?v=3","gravatar_id":"","url":"https://api.github.com/users/timbussmann","html_url":"https://github.com/timbussmann","followers_url":"https://api.github.com/users/timbussmann/followers","following_url":"https://api.github.com/users/timbussmann/following{/other_user}","gists_url":"https://api.github.com/users/timbussmann/gists{/gist_id}","starred_url":"https://api.github.com/users/timbussmann/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/timbussmann/subscriptions","organizations_url":"https://api.github.com/users/timbussmann/orgs","repos_url":"https://api.github.com/users/timbussmann/repos","events_url":"https://api.github.com/users/timbussmann/events{/privacy}","received_events_url":"https://api.github.com/users/timbussmann/received_events","type":"User","site_admin":false},"created_at":"2016-02-10T13:09:15Z","updated_at":"2016-02-10T13:09:15Z","body":"so you suggest to run them with the acceptance tests?"}}