Пример #1
0
        public static ISession CreateSession()
        {
            ISession session = new DefaultSession(); // JUST SIMPLEST FACTORY NOW

            session.StartTimestamp      = TimingHelper.GetCurrentTimestamp();
            session.KeyboardTimes       = new List <int>();
            session.MouseTimes          = new List <int>();
            session.ScreenshotFileNames = new List <int>();
            session.ActiveAppTitles     = new List <String>();
            return(session);
        }
Пример #2
0
 public async Task InvokeAsync(HttpContext httpContext)
 {
     if (httpContext.User.Identity.IsAuthenticated)
     {
         var session = new DefaultSession
         {
             UserId = Guid.Parse(httpContext.User.FindFirstValue(ClaimTypes.NameIdentifier))
         };
         _ambient.SetData(DefaultSession.ContextKey, session);
     }
     await _next(httpContext);
 }
    private async void OnEndOfFetch(string token, string err)
    {
        string t = token ?? "";
        string e = err ?? "";

        ManageScroll.Log(DateTime.Now.ToString("tthh時mm分ss秒fffミリ秒") + ": OnEndOfGetIDToken");

        if (t != "" && e == "")
        {
            // SingIn済み
            ManageScroll.Log("token: " + t);

            // Fetch実行 TODO: エラーキャッチ
            var session = new DefaultSession(Manager.HostName, token);

            LoginRequest req = new LoginRequest();

            var awaitableCoroutine = Awaitable.Create <LoginResponse>(tcs => session.Login(req, tcs));
            var result             = await awaitableCoroutine;

            ManageScroll.Log("result: " + result);

            if (result.Token != "")
            {
                var accessToken = result.Token;
                ManageScroll.Log("accessToken: " + accessToken);

                // Fetch実行 TODO: エラーキャッチ
                var haberdasher = new DefaultHaberdasher(Manager.HostName, accessToken);

                Size req2 = new Size();
                req2.Inches = UnityEngine.Random.Range(1, 1001);

                var awaitableCoroutine2 = Awaitable.Create <Hat>(tcs => haberdasher.MakeHat(req2, tcs));
                var result2             = await awaitableCoroutine2;

                ManageScroll.Log("result: " + result2);
            }
        }

        if (e != "")
        {
            ManageScroll.Log("err: " + e);
        }
    }
Пример #4
0
        /// <summary>
        /// 根据数据库ID获取链接
        /// </summary>
        /// <param name="dbId"></param>
        /// <returns></returns>
        public IDbSession GetSession(long dbId)
        {
            IDbSession _session = null;

            try
            {
                var dbserver = GetDbServer(dbId);
                if (dbserver != null)
                {
                    var          conStr = dbserver == null ? null : GetConnectStr(dbserver);
                    DatabaseType dbType;

                    switch (dbserver.DbTypeName.ToUpper())
                    {
                    case "DB2":
                        dbType = DatabaseType.Db2;
                        break;

                    case "ORACLE":
                        dbType = DatabaseType.Oracle;
                        break;

                    case "MYSQL":
                        dbType = DatabaseType.MySql;
                        break;

                    case "SQLSERVER":
                        dbType = DatabaseType.SqlServer;
                        break;

                    default:
                        dbType = DatabaseType.Oracle;
                        break;
                    }
                    _session = new DefaultSession(conStr, dbType);
                }
                return(_session);
            }
            catch (Exception ex)
            {
                throw new Exception("创建数据库连接失败:" + ex.Message);
            }
        }
        public void FindBy_Should_Return_The_Dummy_Data_And_All_Count_As_One(Mock <ISessionManager> mockSessionManager, DefaultSession session, Dummy data)
        {
            //Arrange
            mockSessionManager.Setup(m => m.Current)
            .Returns(session);

            var options = new DbContextOptionsBuilder <DummyContext>()
                          .UseInMemoryDatabase("DummyDb")
                          .Options;

            using (var context = new DummyContext(options, mockSessionManager.Object))
            {
                var repository = new WriteRepository <DummyContext, Dummy>(context);

                repository.Add(data);
            }

            //Act
            List <Dummy> list;

            using (var context = new DummyContext(options, mockSessionManager.Object))
            {
                var repository = new ReadRepository <DummyContext, Dummy>(context);
                list = repository.FindBy(e => e.Id == data.Id).ToList();
            }

            //Assert
            list.Count.Should().Be(1);
            list.First().Should().BeEquivalentTo(data);
        }
        public void GetByIdAsync_Should_Return_The_Expected_Data(Mock <ISessionManager> mockSessionManager, DefaultSession session, Dummy data)
        {
            //Arrange
            mockSessionManager.Setup(m => m.Current)
            .Returns(session);

            var options = new DbContextOptionsBuilder <DummyContext>()
                          .UseInMemoryDatabase("DummyDb")
                          .Options;

            using (var context = new DummyContext(options, mockSessionManager.Object))
            {
                var repository = new WriteRepository <DummyContext, Dummy>(context);

                repository.Add(data);
            }

            //Act
            Task <Dummy> dummyData;

            using (var context = new DummyContext(options, mockSessionManager.Object))
            {
                var repository = new ReadRepository <DummyContext, Dummy>(context);
                dummyData = repository.GetByIdAsync(data.Id);
            }

            //Assert
            dummyData.Result.Should().BeEquivalentTo(data);
        }
        public void FindByAsync_Should_Should_Return_The_Dummy_Data_And_All_Count_As_More_Than_One(Mock <ISessionManager> mockSessionManager, DefaultSession session, Dummy data1, Dummy data2)
        {
            //Arrange
            mockSessionManager.Setup(m => m.Current)
            .Returns(session);

            var options = new DbContextOptionsBuilder <DummyContext>()
                          .UseInMemoryDatabase("DummyDb")
                          .Options;
            string name = "berdan";

            data1.Name = name;
            data2.Name = name;
            using (var context = new DummyContext(options, mockSessionManager.Object))
            {
                var repository = new WriteRepository <DummyContext, Dummy>(context);

                repository.Add(data1);
                repository.Add(data2);
            }

            //Act
            List <Dummy> list;

            using (var context = new DummyContext(options, mockSessionManager.Object))
            {
                var repository = new ReadRepository <DummyContext, Dummy>(context);
                list = repository.FindByAsync(e => e.Name == name).Result;
            }

            //Assert
            list.Count.Should().BeGreaterThan(1);
        }
        public void AddAsync_Should_Add_Data_And_Should_Return_Exptected(Mock <ISessionManager> mockSessionManager, DefaultSession session, Dummy data)
        {
            //Arrange
            mockSessionManager.Setup(m => m.Current)
            .Returns(session);

            var options = new DbContextOptionsBuilder <DummyContext>()
                          .UseInMemoryDatabase("DummyDb")
                          .Options;

            //Act
            var context    = new DummyContext(options, mockSessionManager.Object);
            var repository = new WriteRepository <DummyContext, Dummy>(context);

            repository.AddAsync(data);

            //Assert
            Dummy dummyData = repository.GetById(data.Id);

            dummyData.Should().BeEquivalentTo(data);

            context.Dispose();
        }
        public void Add_Should_Dont_Save_Context_When_AutoSave_Is_False(Mock <ISessionManager> mockSessionManager, DefaultSession session, Dummy data)
        {
            //Arrange
            mockSessionManager.Setup(m => m.Current)
            .Returns(session);

            var options = new DbContextOptionsBuilder <DummyContext>()
                          .UseInMemoryDatabase("DummyDb")
                          .Options;

            //Act
            var context    = new DummyContext(options, mockSessionManager.Object);
            var repository = new WriteRepository <DummyContext, Dummy>(context);

            repository.AutoSave = false;
            repository.Add(data);

            //Assert
            Dummy dummyData = repository.GetById(data.Id);

            dummyData.Should().BeNull();

            context.Dispose();
        }
        public void UpdateAsync_Should_Update_Data(Mock <ISessionManager> mockSessionManager, DefaultSession session, Dummy data, string newName)
        {
            //Arrange
            mockSessionManager.Setup(m => m.Current)
            .Returns(session);

            var options = new DbContextOptionsBuilder <DummyContext>()
                          .UseInMemoryDatabase("DummyDb")
                          .Options;

            var context    = new DummyContext(options, mockSessionManager.Object);
            var repository = new WriteRepository <DummyContext, Dummy>(context);

            repository.Add(data);
            Dummy dummyData = repository.GetById(data.Id);

            //Act
            dummyData.Name = newName;
            repository.UpdateAsync(dummyData);

            //Assert
            Dummy newDummyData = repository.GetById(data.Id);

            dummyData.Name.Should().Be(newName);

            context.Dispose();
        }
        public void Add_Data_Without_Name_Should_Throw_CustomValidationException(Mock <ISessionManager> mockSessionManager, DefaultSession session, Dummy data)
        {
            //Arrange
            mockSessionManager.Setup(m => m.Current)
            .Returns(session);

            var options = new DbContextOptionsBuilder <DummyContext>()
                          .UseInMemoryDatabase("DummyDb")
                          .Options;

            data.Name = null;

            //Act
            var    context    = new DummyContext(options, mockSessionManager.Object);
            var    repository = new WriteRepository <DummyContext, Dummy>(context);
            Action action     = () => repository.Add(data);

            //Assert
            action.Should().Throw <CustomValidationException>();

            context.Dispose();
        }