public async Task Get_Error()
        {
            // Arrange
            var context = new TestCaseContext();
            var sut     = new VarsController(
                context.Logger,
                context.SessionManager);

            Mock.Get(context.Session.VarsManager).Setup(
                m => m.GetAllVars(true))
            .Throws(new Exception("message"));

            // Act
            var actionResult = await sut.Get(
                context.Session.Id,
                CancellationToken.None);

            // Assert
            Assert.NotNull(actionResult);
            var objectResult = actionResult.Result as ObjectResult;

            Assert.NotNull(objectResult);
            Assert.Equal(500, objectResult.StatusCode);
            var result = objectResult.Value as ApiResponse <GetVarsResponse>;

            Assert.NotNull(result);
            Assert.False(result.Success);
            Assert.NotNull(result.Error);
            Assert.Null(result.Payload);
        }
        public async Task Get_Success()
        {
            // Arrange
            var context = new TestCaseContext();
            var sut     = new VarsController(
                context.Logger,
                context.SessionManager);

            // Act
            var actionResult = await sut.Get(
                context.Session.Id,
                CancellationToken.None);

            // Assert
            Assert.NotNull(actionResult);
            var objectResult = actionResult.Result as ObjectResult;

            Assert.NotNull(objectResult);
            Assert.Equal(200, objectResult.StatusCode);
            var result = objectResult.Value as ApiResponse <GetVarsResponse>;

            Assert.NotNull(result);
            Assert.True(result.Success);
            Assert.Null(result.Error);
            var payload = result.Payload;

            Assert.NotNull(payload);

            Assert.Equal(2, payload.Vars.Count); // hardcode, not a bug

            Assert.Equal(context.Var1NameAsset.Data, payload.Vars[0].Name);
            Assert.Equal(context.Vars[0].DisplayString, payload.Vars[0].Value);

            Assert.Equal(context.Var2NameAsset.Data, payload.Vars[1].Name);
            Assert.Equal(context.Vars[1].DisplayString, payload.Vars[1].Value);
        }