public async Task Get_workspace()
        {
            // Arrange
            var expected = new Workspace("foo", new WorkspaceState("abc", DateTimeOffset.Now),
                new Dictionary<string, WorkspaceState>());

            _connector.GetsJson("/stores/acme/foo", expected);

            // Act
            var response = await _client.GetAsync("acme", "foo", None);

            // Assert
            response.ShouldBeSameAs(expected);
        }
        public async Task Create_workspace()
        {
            // Arrange
            var expected = new Workspace("foo", new WorkspaceState("abc", DateTimeOffset.Now),
                new Dictionary<string, WorkspaceState>());

            _connector.PostsJson<NewWorkspace, Workspace>("/stores/acme", expected);

            // Act
            var response = await _client.CreateAsync("acme", "foo", None);

            // Assert
            response.ShouldBeSameAs(expected);
            _connector.GetLastCallArgument<NewWorkspace>(1).Name.ShouldBe("foo");
        }
        public async Task Promote_workspace()
        {
            // Arrange
            var expected = new Workspace("master", new WorkspaceState("abc", DateTimeOffset.UtcNow),
                new Dictionary<string, WorkspaceState>());

            _connector.PutsJson<Promotion, Workspace>("/stores/acme/foo", expected);

            // Act
            var response = await _client.PromoteAsync("acme", "foo", None);

            // Assert
            response.ShouldBeSameAs(expected);
            _connector.GetLastCallArgument<Promotion>(1).Workspace.ShouldBe("foo");
        }