예제 #1
0
        public void GetUserWithBulkPlaylistItems_UserCreatedWithLotsOfItems_UserHasOnePlaylist()
        {
            NHibernateSessionManager.Instance.OpenSessionAndBeginTransaction();
            JsonServiceStackResult result = (JsonServiceStackResult)UserController.Create();

            NHibernateSessionManager.Instance.CommitTransactionAndCloseSession();

            UserDto createdUserDto = (UserDto)result.Data;

            const int numItemsToCreate = 2000;

            Guid playlistId = createdUserDto.Playlists.First().Id;
            List <PlaylistItemDto> playlistItemDtos = Helpers.CreatePlaylistItemsDto(numItemsToCreate, playlistId);

            NHibernateSessionManager.Instance.OpenSessionAndBeginTransaction();
            PlaylistItemController.CreateMultiple(playlistItemDtos);
            NHibernateSessionManager.Instance.CommitTransactionAndCloseSession();

            NHibernateSessionManager.Instance.OpenSessionAndBeginTransaction();

            User userFromDatabase = UserDao.Get(createdUserDto.Id);

            Assert.That(userFromDatabase.Playlists.Count == createdUserDto.Playlists.Count);
            Assert.That(userFromDatabase.Playlists.First().Items.Count() == numItemsToCreate);

            //  Different sessions -- first should be de-synced from the second.
            Assert.That(userFromDatabase.Playlists.First().Items.Count() != createdUserDto.Playlists.First().Items.Count());
        }
예제 #2
0
        public void CreateUser_UserDoesNotExist_UserCreated()
        {
            NHibernateSessionManager.Instance.OpenSessionAndBeginTransaction();
            JsonServiceStackResult result = (JsonServiceStackResult)UserController.Create();

            NHibernateSessionManager.Instance.CommitTransactionAndCloseSession();

            UserDto createdUserDto = (UserDto)result.Data;

            NHibernateSessionManager.Instance.OpenSessionAndBeginTransaction();
            User userFromDatabase = UserDao.Get(createdUserDto.Id);

            Assert.That(userFromDatabase != null);
            NHibernateSessionManager.Instance.CommitTransactionAndCloseSession();
        }
예제 #3
0
        public void CreateError_ShortMessage_ErrorCreated()
        {
            ErrorDto errorDto = new ErrorDto
            {
                Message       = "Hello World",
                ClientVersion = "0.99",
                LineNumber    = 2
            };

            NHibernateSessionManager.Instance.OpenSessionAndBeginTransaction();
            JsonServiceStackResult result = (JsonServiceStackResult)ErrorController.Create(errorDto);

            NHibernateSessionManager.Instance.CommitTransactionAndCloseSession();

            ErrorDto createdErrorDto = (ErrorDto)result.Data;

            Assert.NotNull(createdErrorDto);
        }
예제 #4
0
        public void CreateError_LongMessage_MessageTruncatedErrorCreated()
        {
            ErrorDto errorDto = new ErrorDto
            {
                Message       = "Hello World This is a Really Long Message Which is going to be over 255 characters in length when finished which will cause the end result message to be truncated with three periods as to not overflow the database. Can I confirm that this is happening? Thanks",
                ClientVersion = "0.99",
                LineNumber    = 2
            };

            NHibernateSessionManager.Instance.OpenSessionAndBeginTransaction();
            JsonServiceStackResult result = (JsonServiceStackResult)ErrorController.Create(errorDto);

            NHibernateSessionManager.Instance.CommitTransactionAndCloseSession();

            ErrorDto createdErrorDto = (ErrorDto)result.Data;

            Assert.NotNull(createdErrorDto);
            Assert.That(createdErrorDto.Message.Length == 255);
        }
예제 #5
0
        public void UpdateUserGooglePlusId_NoGooglePlusIdSet_GooglePlusIdSetSuccessfully()
        {
            const string googlePlusId = "109695597859594825120";

            NHibernateSessionManager.Instance.OpenSessionAndBeginTransaction();
            JsonServiceStackResult result = (JsonServiceStackResult)UserController.Create();

            NHibernateSessionManager.Instance.CommitTransactionAndCloseSession();

            UserDto createdUserDto = (UserDto)result.Data;

            NHibernateSessionManager.Instance.OpenSessionAndBeginTransaction();
            UserController.UpdateGooglePlusId(createdUserDto.Id, googlePlusId);
            NHibernateSessionManager.Instance.CommitTransactionAndCloseSession();

            NHibernateSessionManager.Instance.OpenSessionAndBeginTransaction();
            User userFromDatabase = UserDao.Get(createdUserDto.Id);

            Assert.That(userFromDatabase.Playlists.Count == createdUserDto.Playlists.Count);
            NHibernateSessionManager.Instance.CommitTransactionAndCloseSession();
        }