コード例 #1
0
        public void PostServerHeartBeat_WithDifferentIp_GivesForbidden()
        {
            var endPoint = new IPEndPoint(100, 1);

            using (var preContext = MockDataContext.GetContext()) {
                preContext.Servers.Add(new GameServer {
                    Name           = "A",
                    Address        = endPoint.Address.ToString(),
                    QueryPort      = endPoint.Port,
                    GamePort       = 200,
                    RoundStatus    = "starting",
                    RoundStartTime = DateTime.Now,
                    Game           = "SS3D",
                    LastUpdate     = DateTime.Now - TimeSpan.FromMinutes(2)
                });
                preContext.SaveChanges();
            }

            using var context = MockDataContext.GetContext();
            // Test
            var controller = new ServersController(context, ConstructChallengeRespondingMock(), logger);

            MockControllerConnection(controller, new IPAddress(200));

            // Actual Test
            var response = controller.PostHeartBeatUpdate(endPoint.ToString());

            Assert.IsType <ForbidResult>(response);
        }
コード例 #2
0
        public async void PostNewServer_WithNew_IsSuccessful()
        {
            using (var context = MockDataContext.GetContext()) {
                // A mock which returns the input challenge.
                var controller = new ServersController(context, ConstructChallengeRespondingMock(), logger);

                var endPoint = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 100);
                MockControllerConnection(controller, endPoint.Address);

                var result = await controller.PostNewServer(new GameServer {
                    Name           = "Server A",
                    Address        = endPoint.Address.ToString(),
                    QueryPort      = endPoint.Port,
                    GamePort       = 100,
                    RoundStatus    = "starting",
                    RoundStartTime = DateTime.Now,
                    Game           = "SS3D"
                }).ConfigureAwait(false);

                Assert.Equal(StatusCodes.Status201Created, (result as IStatusCodeActionResult).StatusCode);
            }

            using (var context = MockDataContext.GetContext()) {
                Assert.Single(context.Servers);
            }
        }
コード例 #3
0
        public void PostServerHeartBeat_WithBadForm_GivesBadRequest()
        {
            var endPoint = new IPEndPoint(100, 1);

            using (var preContext = MockDataContext.GetContext()) {
                preContext.Servers.Add(new GameServer {
                    Name           = "A",
                    Address        = endPoint.Address.ToString(),
                    QueryPort      = endPoint.Port,
                    GamePort       = 200,
                    RoundStatus    = "starting",
                    RoundStartTime = DateTime.Now,
                    Game           = "SS3D",
                    LastUpdate     = DateTime.Now - TimeSpan.FromMinutes(2)
                });
                preContext.SaveChanges();
            }

            using var context = MockDataContext.GetContext();
            var controller = new ServersController(context, ConstructChallengeRespondingMock(), logger);

            MockControllerConnection(controller, endPoint.Address);

            var response = controller.PostHeartBeatUpdate("fsafsfa");

            Assert.Equal(StatusCodes.Status400BadRequest, (response as IStatusCodeActionResult).StatusCode);
        }
コード例 #4
0
        public async Task Order_Index()
        {
            // arrange
            var mockDb    = new MockDataContext();
            var mockModel = new OrdersModel(mockDb.Orders.ToList(), "bob", new DateTimeOffset(), new DateTimeOffset(), null, false);

            var mockOrdersQuery = new Mock <IOrdersQuery>();

            mockOrdersQuery.Setup(o => o.IndexHelperAsync("bob", null, null, null, false))
            .ReturnsAsync(mockModel);

            var mockTelemetryProvider   = new Mock <ITelemetryProvider>();
            var mockShippingTaxCalc     = new Mock <IShippingTaxCalculator>();
            OrdersController controller = GetOrdersController(mockOrdersQuery, mockTelemetryProvider, mockShippingTaxCalc);

            // act
            var resultTask = await controller.Index(null, null, null);

            var viewResult = resultTask as ViewResult;

            // assert
            Assert.IsNotNull(viewResult);
            mockOrdersQuery.Verify(o => o.IndexHelperAsync("bob", null, null, null, false), Times.Once, "IndexHelperAsync not called correctly");
            var model = viewResult.Model as OrdersModel;

            Assert.IsNotNull(model);
            Assert.AreSame(model, mockModel);
        }
コード例 #5
0
        // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
        public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
        {
            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
                app.UseWebAssemblyDebugging();
            }
            else
            {
                app.UseExceptionHandler("/Error");
                // The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
                app.UseHsts();
            }

            app.UseHttpsRedirection();
            app.UseBlazorFrameworkFiles();
            app.UseStaticFiles();

            app.UseRouting();

            app.UseEndpoints(endpoints =>
            {
                endpoints.MapRazorPages();
                endpoints.MapControllers();
                endpoints.MapFallbackToFile("index.html");
            });

            // initialize data
            MockDataContext.Init();
        }
コード例 #6
0
        public void SetupTables()
        {
            var mockUserData = new[]
            {
                new User {
                    Id = Guid.NewGuid(), Username = "******", Email = "*****@*****.**", Password = Storage.EncryptPassword("somepassword"),
                },
            };

            var mockGroupData = new[]
            {
                new Group {
                    Id = 1, Name = "PMI51", Deleted = false
                }
            };

            /*var mockGroupUserData = new[]
             *                          {
             *                              new GroupUser {GroupRef = 1, UserRef = mockUserData[0].Id}
             *                          };
             */
            var mockUsers  = new MockableTable <User>(Users.Object, mockUserData.AsQueryable());
            var mockGroups = new MockableTable <Group>(Groups.Object, mockGroupData.AsQueryable());

            //var mockGroupUsers = new MockableTable<GroupUser>(GroupUsers.Object, mockGroupUserData.AsQueryable());

            MockDataContext.SetupGet(c => c.Users).Returns(mockUsers);
            MockDataContext.SetupGet(c => c.Groups).Returns(mockGroups);
            //MockDataContext.SetupGet(c => c.GroupUsers).Returns(mockGroupUsers);
        }
コード例 #7
0
        public void TestAddDocumentFail()
        {
            // Arrange:
            var document3 = new Document {
                ID            = 3,
                Name          = "Document3",
                Type          = "CSS",
                CreatedBy     = "User1",
                DateCreated   = new DateTime(2017, 1, 1),
                Content       = "Some Content",
                LastUpdatedBy = null,
                ProjectID     = 1
            };

            var mockContext = new MockDataContext();

            _DocumentService        = new DocumentService(mockContext);
            mockContext.SaveSuccess = false;

            // Act:
            var added = _DocumentService.AddDocument(document3);

            // Assert:
            Assert.IsFalse(added);
        }
コード例 #8
0
        public void Delete_WithDifferentIp_IsForbidden()
        {
            var endPoint = new IPEndPoint(101, 1);

            using (var context = MockDataContext.GetContext()) {
                context.Servers.Add(new GameServer {
                    Name           = "C",
                    Address        = endPoint.Address.ToString(),
                    QueryPort      = endPoint.Port,
                    GamePort       = 300,
                    RoundStatus    = "starting",
                    RoundStartTime = DateTime.Now,
                    Game           = "SS3D",
                    LastUpdate     = DateTime.Now - TimeSpan.FromMinutes(6)
                });
                context.SaveChanges();
            }

            using (var context = MockDataContext.GetContext()) {
                var controller = new ServersController(context, ConstructChallengeRespondingMock(), logger);
                MockControllerConnection(controller, new IPAddress(202));

                IActionResult response = controller.DeleteServer(endPoint.ToString());

                Assert.Equal(StatusCodes.Status204NoContent, (response as IStatusCodeActionResult).StatusCode);
            }
        }
コード例 #9
0
 public void UsersFromMockContextShouldReturnNonEmptyList()
 {
     using (var context = new MockDataContext())
     {
         var list = context.Logins;
         Assert.IsTrue(list.Any());
     }
 }
コード例 #10
0
 public void AccountsFromMockContextShouldReturnNonEmptyList()
 {
     using (var context = new MockDataContext())
     {
         var list = context.BankAccounts;
         Assert.IsTrue(list.Any());
     }
 }
コード例 #11
0
 public void NotificationsFromMockContextShouldReturnEmptyList()
 {
     using (var context = new MockDataContext())
     {
         var list = context.Notifications;
         Assert.IsTrue(!list.Any());
     }
 }
コード例 #12
0
        public static AdminService CreateService(ICollection <Admin> data = null, MockDataContext context = null)
        {
            context = context ?? new MockDataContext();
            var service = new AdminService(context);

            context.MockAdmins.SetupData(data, ids => context.Admins.SingleOrDefault(a => a.Id == ids[0].ToString()));

            return(service);
        }
コード例 #13
0
        public void Initialize()
        {
            // Set up our mock database.
            var MockDb = new MockDataContext();
            var Ass1   = new Assignment
            {
                ID       = 1,
                Name     = "Assignment1",
                CourseID = 1
            };

            MockDb.Assignment.Add(Ass1);

            var Ass2 = new Assignment
            {
                ID       = 2,
                Name     = "Assignment2",
                CourseID = 1
            };

            MockDb.Assignment.Add(Ass2);

            var Cour1 = new Course
            {
                ID   = 1,
                Name = "Course1"
            };

            MockDb.Course.Add(Cour1);

            var Mile1 = new Milestone
            {
                ID   = 1,
                Name = "Milestone1"
            };

            MockDb.Milestone.Add(Mile1);

            var Mile2 = new Milestone
            {
                ID   = 2,
                Name = "Milestone2"
            };

            MockDb.Milestone.Add(Mile2);

            var Mile3 = new Milestone
            {
                ID   = 3,
                Name = "Milestone3"
            };

            MockDb.Milestone.Add(Mile3);

            _AS = new AssignmentService(MockDb);
        }
コード例 #14
0
        public void UserShouldHavePreDefinedAccount()
        {
            using (var context = new MockDataContext())
            {
                var grazynkaPredefinedAccounts          = context.Logins.FirstOrDefault(x => x.Login == "grazynka".ToUpper()).PreDefinedAccounts;
                var grazynkaValidationPredefinedAccount = grazynkaPredefinedAccounts.Where(x => x.Login.Login == "janusz".ToUpper()).Any();

                Assert.IsTrue(grazynkaValidationPredefinedAccount);
            }
        }
コード例 #15
0
        public void Initialize()
        {
            var mockDb = new MockDataContext();

            // Groups
            var g1 = new Group {
                Id = 1, UserId = "dabs"
            };

            mockDb.Groups.Add(g1);
            var g2 = new Group {
                Id = 1, UserId = "gummi"
            };

            mockDb.Groups.Add(g2);
            var g3 = new Group {
                Id = 1, UserId = "dabs"
            };

            mockDb.Groups.Add(g3);
            var g4 = new Group {
                Id = 1, UserId = "dabs"
            };

            mockDb.Groups.Add(g4);

            // GroupUsers
            var gu1 = new GroupUsers {
                Id = 1, GroupId = 1, UserId = "gummi"
            };

            mockDb.GroupUsers.Add(gu1);
            var gu2 = new GroupUsers {
                Id = 2, GroupId = 2, UserId = "dabs"
            };

            mockDb.GroupUsers.Add(gu2);
            var gu3 = new GroupUsers {
                Id = 3, GroupId = 1, UserId = "dabs"
            };

            mockDb.GroupUsers.Add(gu3);
            var gu4 = new GroupUsers {
                Id = 4, GroupId = 3, UserId = "gauja"
            };

            mockDb.GroupUsers.Add(gu4);
            var gu5 = new GroupUsers {
                Id = 5, GroupId = 1, UserId = "gauja"
            };

            mockDb.GroupUsers.Add(gu5);

            _service = new GroupService(mockDb);
        }
コード例 #16
0
        public ActionResult AddOrEdit(int id = 0)
        {
            MockData mockData = new MockData();

            if (id != 0)
            {
                MockDataContext mockDataContext = new MockDataContext();
                mockData = mockDataContext.MockDatas.Single(mock => mock.MockDataId == id);
            }
            return(View(mockData));
        }
コード例 #17
0
        public void Delete_WithNonExistant_GivesNotFound()
        {
            var endPoint = new IPEndPoint(100, 1);

            using var context = MockDataContext.GetContext();
            var controller = new ServersController(context, ConstructChallengeRespondingMock(), logger);

            IActionResult response = controller.DeleteServer(endPoint.ToString());

            Assert.Equal(StatusCodes.Status404NotFound, (response as IStatusCodeActionResult).StatusCode);
        }
コード例 #18
0
        public void Initialize()
        {
            var mockContext = new MockDataContext();

            var user1 = new AppUser {
                ID       = 1,
                UserName = "******",
                Email    = "*****@*****.**"
            };

            mockContext.AppUsers.Add(user1);

            var project1 = new Project {
                ID          = 1,
                OwnerID     = 1,
                Name        = "Project1",
                AppUser     = user1,
                ProjectType = "Javascript"
            };

            mockContext.Projects.Add(project1);

            var document1 = new Document {
                ID            = 1,
                Name          = "Document1",
                Type          = "Javascript",
                CreatedBy     = "User1",
                DateCreated   = new DateTime(2017, 1, 1),
                Content       = "Hello World!",
                LastUpdatedBy = "User1",
                ProjectID     = 1,
                Project       = project1
            };

            mockContext.Documents.Add(document1);

            var document2 = new Document {
                ID            = 2,
                Name          = "Document2",
                Type          = "HTML",
                CreatedBy     = "User1",
                DateCreated   = new DateTime(2017, 1, 1),
                Content       = null,
                LastUpdatedBy = null,
                ProjectID     = 1,
                Project       = project1
            };

            mockContext.Documents.Add(document2);

            _DocumentService = new DocumentService(mockContext);
        }
コード例 #19
0
        public void Initialize()
        {
            var mockContext = new MockDataContext();

            var user1 = new AppUser {
                ID       = 1,
                UserName = "******",
                Email    = "*****@*****.**"
            };

            mockContext.AppUsers.Add(user1);

            var user2 = new AppUser {
                ID       = 2,
                UserName = "******",
                Email    = "*****@*****.**"
            };

            mockContext.AppUsers.Add(user2);

            var user3 = new AppUser {
                ID       = 3,
                UserName = "******",
                Email    = "*****@*****.**"
            };

            mockContext.AppUsers.Add(user3);

            var project1 = new Project {
                ID          = 1,
                OwnerID     = 1,
                Name        = "Project1",
                DateCreated = new DateTime(2017, 1, 1),
                AppUser     = user1,
                ProjectType = "HTML"
            };

            mockContext.Projects.Add(project1);

            var userProject1 = new UserProjects {
                ID        = 1,
                AppUserID = 1,
                ProjectID = 1,
                AppUser   = user1,
                Project   = project1
            };

            mockContext.UserProjects.Add(userProject1);

            _AppUserService = new AppUserService(mockContext);
        }
コード例 #20
0
		public void CountTest()
		{
			using (IDataContext context = new MockDataContext())
			{
				context.Devices.Add(new Device
				{
					Id = 1,
					Name = "Test1",
					Description = "Test 1 Description"
				});
				context.SaveChanges();
				Assert.AreEqual(1, context.Devices.Count());
			}
		}
コード例 #21
0
        public void PostServerHeartBeat_WithNonExistant_GivesNotFound()
        {
            var endPoint = new IPEndPoint(100, 1);

            using var context = MockDataContext.GetContext();
            var controller = new ServersController(context, ConstructChallengeRespondingMock(), logger);

            MockControllerConnection(controller, endPoint.Address);

            // Note: This assumes the resource format
            var response = controller.PostHeartBeatUpdate(endPoint.ToString());

            Assert.Equal(StatusCodes.Status404NotFound, (response as IStatusCodeActionResult).StatusCode);
        }
コード例 #22
0
        public void Init()
        {
            _bankAccountsRepository = new GenericRepository <TblBankAccounts>();

            using (var context = new MockDataContext())
            {
                _bankAccount = new TblBankAccounts
                {
                    Id        = 1,
                    AccountNo = "EU 0000 1234 2222 4444 11",
                    Balance   = 900,
                    Login     = context.Logins.FirstOrDefault(x => x.Login == "grazynka".ToUpper())
                };
            }
        }
コード例 #23
0
        public void TestUpdateDocumentFail()
        {
            // Arrange:
            var mockContext = new MockDataContext();

            var user1 = new AppUser {
                ID       = 1,
                UserName = "******",
                Email    = "*****@*****.**"
            };

            mockContext.AppUsers.Add(user1);

            var project1 = new Project {
                ID          = 1,
                OwnerID     = 1,
                Name        = "Project1",
                AppUser     = user1,
                ProjectType = "Javascript"
            };

            mockContext.Projects.Add(project1);

            var document1 = new Document {
                ID            = 1,
                Name          = "Document1",
                Type          = "Javascript",
                CreatedBy     = "User1",
                DateCreated   = new DateTime(2017, 1, 1),
                Content       = "Hello World!",
                LastUpdatedBy = "User1",
                ProjectID     = 1,
                Project       = project1
            };

            mockContext.Documents.Add(document1);
            _DocumentService        = new DocumentService(mockContext);
            mockContext.SaveSuccess = false;

            document1.Content = "Updated Content";

            // Act:
            var updated = _DocumentService.UpdateDocument(document1);

            // Assert:
            Assert.IsFalse(updated);
        }
コード例 #24
0
        public async void GetServers_WithOutdated_OnlyReturnsCurrent()
        {
            using (var context = MockDataContext.GetContext()) {
                context.Servers.Add(new GameServer {
                    Name           = "A",
                    Address        = "127.0.0.1",
                    QueryPort      = 100,
                    GamePort       = 100,
                    RoundStatus    = "starting",
                    RoundStartTime = DateTime.Now,
                    Game           = "SS3D",
                    LastUpdate     = DateTime.Now
                });
                context.Servers.Add(new GameServer {
                    Name           = "B",
                    Address        = "127.0.0.2",
                    QueryPort      = 200,
                    GamePort       = 200,
                    RoundStatus    = "starting",
                    RoundStartTime = DateTime.Now,
                    Game           = "SS3D",
                    LastUpdate     = DateTime.Now - TimeSpan.FromMinutes(2)
                });
                // This one should definitely be out of date
                context.Servers.Add(new GameServer {
                    Name           = "C",
                    Address        = "127.0.0.3",
                    QueryPort      = 300,
                    GamePort       = 300,
                    RoundStatus    = "starting",
                    RoundStartTime = DateTime.Now,
                    Game           = "SS3D",
                    LastUpdate     = DateTime.Now - TimeSpan.FromMinutes(6)
                });
                context.SaveChanges();
            }

            // Use a separate, fresh context for testing.
            using (var context = MockDataContext.GetContext()) {
                var controller = new ServersController(context, HttpFactoryMock.CreateMock().Object, logger);

                IEnumerable <GameServer> servers = await controller.GetServers().ToListAsync();

                Assert.Equal(2, servers.Count());
                Assert.DoesNotContain(servers, server => server.Name == "C");
            }
        }
コード例 #25
0
        public void PutServer_WithMissing_WillGiveError()
        {
            IPEndPoint endPoint = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 100);

            using var context = MockDataContext.GetContext();

            var controller = new ServersController(context, ConstructChallengeRespondingMock(), logger);

            MockControllerConnection(controller, endPoint.Address);

            var result = controller.PutServer(endPoint.ToString(), new GameServer {
                Name = "Not A"
            });

            // Should have 200 status code, given that the item already exists.
            Assert.Equal(StatusCodes.Status404NotFound, (result as IStatusCodeActionResult).StatusCode);
        }
コード例 #26
0
ファイル: ProjectServiceTest.cs プロジェクト: Eytor/Edit-Thor
        public void Initialize()
        {
            var mockDb = new MockDataContext();

            var user = new List <ApplicationUser>
            {
                new ApplicationUser
                {
                    Id       = userID2,
                    Email    = userEm2,
                    UserName = userEm2,
                },
                new ApplicationUser
                {
                    Id       = userID3,
                    Email    = userEm3,
                    UserName = userEm3,
                },
            };


            var pro1 = new Project()
            {
                ID        = 1,
                Name      = "pro1",
                OwnerID   = userID1,
                OwnerName = userEm1,
            };

            mockDb.Projects.Add(pro1);

            var pro2 = new Project()
            {
                ID        = 2,
                Name      = "pro2",
                OwnerID   = userID4,
                OwnerName = userEm4,
            };

            mockDb.Projects.Add(pro2);



            _service = new ProjectService(mockDb);
        }
コード例 #27
0
        private static IEnumerable <MockData> SearchMockData(string searchString)
        {
            MockDataContext mockDataContext = new MockDataContext();
            List <MockData> mockDatasList   = mockDataContext.MockDatas.ToList();

            var mockDatas = from s in mockDatasList
                            select s;

            if (!String.IsNullOrEmpty(searchString))
            {
                mockDatas = mockDatas.Where(s => (s.FirstName ?? string.Empty).ToLower().Contains(searchString.ToLower()) ||
                                            (s.LastName ?? string.Empty).ToLower().Contains(searchString.ToLower()) ||
                                            (s.Email ?? string.Empty).ToLower().Contains(searchString.ToLower())
                                            );
            }

            return(mockDatas);
        }
コード例 #28
0
        public ActionResult Delete(int id)
        {
            MockData mockData = new MockData();

            try
            {
                MockDataContext mockDataContext = new MockDataContext();
                mockData = mockDataContext.MockDatas.Single(mock => mock.MockDataId == id);
                mockDataContext.Entry(mockData).State = EntityState.Deleted;
                mockDataContext.SaveChanges();

                return(Json(new { success = true, message = "Deleted Successfully!" }, JsonRequestBehavior.AllowGet));
            }
            catch (Exception ex)
            {
                return(Json(new { success = false, message = "Error! " + ex.Message }, JsonRequestBehavior.AllowGet));
            }
        }
コード例 #29
0
        public void SetupTables()
        {
            var mockUserData = new[]
            {
                new User
                {
                    Id       = Guid.NewGuid(),
                    Username = "******",
                    Email    = "*****@*****.**",
                    Password = Storage.EncryptPassword("somepassword"),
                },
            };

            var mockGroupData = new[]
            {
                new Group {
                    Id = 1, Name = "PMI51", Deleted = false
                }
            };

            var mockGroupUserData = new[]
            {
                new GroupUser {
                    GroupRef = 1, UserRef = mockUserData[0].Id
                }
            };

            var mockUserRoleData = new[]
            {
                new UserRole {
                    UserRef = mockUserData[0].Id, RoleRef = (int)Role.Teacher
                }
            };

            var mockUsers      = new MemoryTable <User>(mockUserData);
            var mockGroups     = new MemoryTable <Group>(mockGroupData);
            var mockGroupUsers = new MemoryTable <GroupUser>(mockGroupUserData);
            var mockUserRoles  = new MemoryTable <UserRole>(mockUserRoleData);

            MockDataContext.SetupGet(c => c.Users).Returns(mockUsers);
            MockDataContext.SetupGet(c => c.Groups).Returns(mockGroups);
            MockDataContext.SetupGet(c => c.GroupUsers).Returns(mockGroupUsers);
            MockDataContext.SetupGet(c => c.UserRoles).Returns(mockUserRoles);
        }
コード例 #30
0
        public void PutServer_WithExisting_WillChangeItem()
        {
            IPEndPoint endPoint = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 100);

            using (var context = MockDataContext.GetContext()) {
                context.Servers.Add(new GameServer {
                    Name           = "Server Not A",
                    Address        = endPoint.Address.ToString(),
                    QueryPort      = endPoint.Port,
                    GamePort       = 100,
                    RoundStatus    = "starting",
                    RoundStartTime = DateTime.Now,
                    Game           = "SS3D",
                    LastUpdate     = DateTime.Now - TimeSpan.FromMinutes(2)
                });
                context.SaveChanges();
            }

            // Use a separate, fresh context for testing.
            using (var context = MockDataContext.GetContext()) {
                var controller = new ServersController(context, ConstructChallengeRespondingMock(), logger);
                MockControllerConnection(controller, endPoint.Address);

                var result = controller.PutServer(endPoint.ToString(), new GameServer {
                    Name           = "Not A",
                    GamePort       = 100,
                    RoundStatus    = "starting",
                    RoundStartTime = DateTime.Now,
                    Game           = "SS3D"
                });

                // Should have 200 status code, given that the item already exists.
                Assert.Equal(StatusCodes.Status200OK, (result as IStatusCodeActionResult).StatusCode);
            }

            using (var postContext = MockDataContext.GetContext()) {
                var onlyServer = Assert.Single(postContext.Servers);
                Assert.Equal("Not A", onlyServer.Name);

                // Check that the LastUpdate has changed to now too
                Assert.True(onlyServer.LastUpdate > DateTime.Now - TimeSpan.FromSeconds(10));
            }
        }
コード例 #31
0
		public async Task PostTest()
		{
			Device d = new Device();
			d.Id = 500;
			d.Name = "Test1";
			d.Description = "This is my test Description.";
			d.DateCreated = DateTime.MinValue;
			d.DisplayOrder = 50;

			using (IDataContext context = new MockDataContext())
			{
				using (var controller = new DevicesController(context))
				{
					var result = await controller.Post(d);
					Assert.IsTrue(result > 0, "Id needs to be greater then 0");
					Assert.AreEqual(1, context.Devices.Count(), "Device was not added to the database.");

					var actual = context.Devices.FirstOrDefault(i => i.Id == result);
					Assert.AreNotEqual(500, actual.Id, "Device id not generated");
					Assert.AreNotEqual(DateTime.MinValue, actual.DateCreated, "Date Created was not generated");
					Assert.AreEqual(d.Name, actual.Name, "Name is not the same");
					Assert.AreEqual(d.Description, actual.Description, "Description is not the same");
					Assert.AreEqual(1, actual.DisplayOrder, "Display Order was not computed correctly");

					var d2 = new Device();
					d2.Id = 501;
					d2.Name = "Test2";
					d2.Description = "This is my test Description 2";
					d2.DateCreated = DateTime.MinValue;
					d2.DisplayOrder = 1000;

					result = await controller.Post(d2);
					Assert.IsTrue(result > 0, "Id needs to be greater then 0");
					actual = context.Devices.FirstOrDefault(i => i.Id == result);
					Assert.AreNotEqual(501, actual.Id, "Device id not generated");
					Assert.AreNotEqual(1, actual.Id, "Device id not generated");
					Assert.AreNotEqual(DateTime.MinValue, actual.DateCreated, "Date Created was not generated");
					Assert.AreEqual(d2.Name, actual.Name, "Name is not the same");
					Assert.AreEqual(d2.Description, actual.Description, "Description is not the same");
					Assert.AreEqual(2, actual.DisplayOrder, "Display Order was not computed correctly");
				}
			}
		}
コード例 #32
0
        public async void PostNewServer_WithExisting_GivesError()
        {
            // Setup
            using (var context = MockDataContext.GetContext()) {
                context.Servers.Add(new GameServer {
                    Name           = "Server Not A",
                    Address        = "2001:0db8:85a3:0000:0000:8a2e:0370:7334",
                    QueryPort      = 100,
                    GamePort       = 100,
                    RoundStatus    = "starting",
                    RoundStartTime = DateTime.Now,
                    Game           = "SS3D",
                    LastUpdate     = DateTime.Now
                });
                context.SaveChanges();
            }

            using (var context = MockDataContext.GetContext()) {
                var controller = new ServersController(context, ConstructChallengeRespondingMock(), logger);

                var endPoint = new IPEndPoint(IPAddress.Parse("2001:0db8:85a3:0000:0000:8a2e:0370:7334"), 100);
                MockControllerConnection(controller, endPoint.Address);

                var result = await controller.PostNewServer(new GameServer {
                    Name           = "Server A",
                    Address        = endPoint.Address.ToString(),
                    QueryPort      = endPoint.Port,
                    GamePort       = 100,
                    RoundStatus    = "starting",
                    RoundStartTime = DateTime.Now,
                }).ConfigureAwait(false);

                Assert.Equal(StatusCodes.Status409Conflict, (result as IStatusCodeActionResult).StatusCode);
            }

            using (var context = MockDataContext.GetContext()) {
                var controller = new ServersController(context, ConstructChallengeRespondingMock(), logger);
                var servers    = await controller.GetServers().ToListAsync();

                Assert.Single(servers);
                Assert.Equal("Server Not A", servers[0].Name); // Nothing about the original entry should have changed.
            }
        }
コード例 #33
0
		public async Task GetByIdTest()
		{
			using (IDataContext context = new MockDataContext())
			{
				using (var controller = new DevicesController(context))
				{
					var device1 = new Device()
					{
						Name = "Device 1",
						Description = "Desc 1",
						DisplayOrder = 1,
						DateCreated = DateTime.Now
					};
					var device2 = new Device()
					{
						Name = "Device 2",
						Description = "Desc 2",
						DisplayOrder = 2,
						DateCreated = DateTime.Now
					};
					context.Devices.Add(device1);
					context.Devices.Add(device2);
					await context.SaveChangesAsync();

					var actual = controller.Get(device1.Id);
					Assert.IsNotNull(actual);
					Assert.AreEqual(device1.Name, actual.Name, "Name does not match");
					Assert.AreEqual(device1.Description, actual.Description, "Description does not match");
					Assert.AreEqual(device1.DisplayOrder, actual.DisplayOrder, "Display Order does not match");
					Assert.AreEqual(device1.DateCreated, actual.DateCreated, "DateCreated does not match");

					actual = controller.Get(device2.Id);
					Assert.IsNotNull(actual);
					Assert.AreEqual(device2.Name, actual.Name, "Name does not match");
					Assert.AreEqual(device2.Description, actual.Description, "Description does not match");
					Assert.AreEqual(device2.DisplayOrder, actual.DisplayOrder, "Display Order does not match");
					Assert.AreEqual(device2.DateCreated, actual.DateCreated, "DateCreated does not match");
				}
			}
		}
コード例 #34
0
		public async Task PutTest()
		{
			var device = new Device()
			{
				Name = "Device 1",
				Description = "Device Description",
				DisplayOrder = 1,
				DateCreated = DateTime.Now,
			};

			var device2 = new Device()
			{
				Name = "Device 2",
				Description = "Device Description",
				DisplayOrder = 2,
				DateCreated = DateTime.Now
			};
			using (IDataContext context = new MockDataContext())
			{
				using (var controller = new DevicesController(context))
				{
					context.Devices.Add(device);
					context.Devices.Add(device2);
					await context.SaveChangesAsync();

					var newDevice = new Device()
					{
						Id = device.Id,
						Name = "Test Device 1",
						Description = "Test Description 1",
						DisplayOrder = 3,
						DateCreated = DateTime.Now.AddDays(-200)
					};
					await controller.Put(newDevice);

					var actual = context.Devices.FirstOrDefault(i => i.Id == device.Id);
					Assert.AreEqual(newDevice.Name, actual.Name, "Name was not updated");
					Assert.AreEqual(newDevice.Description, actual.Description, "Description was not updated");
					Assert.AreEqual(newDevice.DisplayOrder, actual.DisplayOrder, "Display Order was not updated");
					Assert.AreEqual(device.DateCreated, actual.DateCreated, "DateCreated was updated and should not have been");

					newDevice = new Device()
					{
						Id = device2.Id,
						Name = "Test Device2",
						Description = "Test Description 2",
						DisplayOrder = 1,
						DateCreated = DateTime.Now.AddDays(-201)
					};
					await controller.Put(newDevice);
					actual = context.Devices.FirstOrDefault(i => i.Id == device2.Id);
					Assert.AreEqual(newDevice.Name, actual.Name, "Name was not updated");
					Assert.AreEqual(newDevice.Description, actual.Description, "Description was not updated.");
					Assert.AreEqual(newDevice.DisplayOrder, actual.DisplayOrder, "Display Order was not updated.");
					Assert.AreEqual(device2.DateCreated, actual.DateCreated, "DateCreated was updated and should not have been");

					newDevice = new Device()
					{
						Id = 500,
						Name = "Failed Update",
						Description = "Failed Update"
					};
					Assert.ThrowsAsync<KeyNotFoundException>(async () => await controller.Put(newDevice));
				}
			}
		}
コード例 #35
0
		public void GetWithIdTest()
		{
			using (IDataContext context = new MockDataContext())
			{
				using (var controller = new ApplicationLogEntryController(context))
				{
					var var1 = new ApplicationLogEntry();
					var var2 = new ApplicationLogEntry();
					var var3 = new ApplicationLogEntry();
					//var1
					var1.Id = Guid.NewGuid();
					var1.DeviceId = 54;
					var1.ApplicationId = "jyy<J3&n4.=";
					var1.Message = "e{*_;>pl00?24/N4@i%f6*!+eyxiCW~-Z.3py)K7}lt,WmV?";
					var1.Exception = "jgI2!cQ.}rnJd?,?LS^Z$*4W([VpDP24CF&s$,/CLPl}";
					var1.CreatedDate = DateTime.Now;
					//var2
					var2.Id = Guid.NewGuid();
					var2.DeviceId = 30;
					var2.ApplicationId = "tS}}(_Eeib[p.,\"fFtZ\\7?/#&L$'_CJP{/?8,";
					var2.Message = "SM%\\yZ6vMN#\\2ba<L-]nxIXk0O'ZlbT\\cl-OBIz{MFo";
					var2.Exception = "KK,O@^x3LQ_a2A|/_K1wzC/A#F&";
					var2.CreatedDate = DateTime.Now;
					//var3
					var3.Id = Guid.NewGuid();
					var3.DeviceId = 43;
					var3.ApplicationId = "}+n0EXBMt%!}DO{Iny=clp6=3s}Q.>.DJ-cmG";
					var3.Message = "WQOCXQFhlo+74Ew,y@6u(|";
					var3.Exception = "w3dOq*[zqWmld`4";
					var3.CreatedDate = DateTime.Now;
					//Fix Order
					var order = DateTime.Now;
					var3.CreatedDate = order;
					var2.CreatedDate = order.AddDays(-1);
					var1.CreatedDate = order.AddDays(-2);
					// Add and save entities
					context.ApplicationLogEntries.Add(var1);
					context.ApplicationLogEntries.Add(var2);
					context.ApplicationLogEntries.Add(var3);
					context.SaveChanges();
					// verify
					var actual = controller.Get(var1.Id);
					Assert.IsNotNull(actual.Id);
					// var1 -> actual
					Assert.AreEqual(var1.Id, actual.Id);
					Assert.AreEqual(var1.DeviceId, actual.DeviceId);
					Assert.AreEqual(var1.ApplicationId, actual.ApplicationId);
					Assert.AreEqual(var1.Message, actual.Message);
					Assert.AreEqual(var1.Exception, actual.Exception);
					Assert.AreEqual(var1.CreatedDate, actual.CreatedDate);
					// Verify var2
					actual = controller.Get(var2.Id);
					Assert.IsNotNull(actual.Id);
					// var2 -> actual
					Assert.AreEqual(var2.Id, actual.Id);
					Assert.AreEqual(var2.DeviceId, actual.DeviceId);
					Assert.AreEqual(var2.ApplicationId, actual.ApplicationId);
					Assert.AreEqual(var2.Message, actual.Message);
					Assert.AreEqual(var2.Exception, actual.Exception);
					Assert.AreEqual(var2.CreatedDate, actual.CreatedDate);
					// Verify var3
					actual = controller.Get(var3.Id);
					Assert.IsNotNull(actual.Id);
					// var3 -> actual
					Assert.AreEqual(var3.Id, actual.Id);
					Assert.AreEqual(var3.DeviceId, actual.DeviceId);
					Assert.AreEqual(var3.ApplicationId, actual.ApplicationId);
					Assert.AreEqual(var3.Message, actual.Message);
					Assert.AreEqual(var3.Exception, actual.Exception);
					Assert.AreEqual(var3.CreatedDate, actual.CreatedDate);
				}
			}
		}
コード例 #36
0
		public void GetTest()
		{
			using (IDataContext context = new MockDataContext())
			{
				using (var controller = new ApplicationLogEntryController(context))
				{
					var var1 = new ApplicationLogEntry();
					var var2 = new ApplicationLogEntry();
					var var3 = new ApplicationLogEntry();
					//var1
					var1.Id = Guid.NewGuid();
					var1.DeviceId = 54;
					var1.ApplicationId = "jyy<J3&n4.=";
					var1.Message = "e{*_;>pl00?24/N4@i%f6*!+eyxiCW~-Z.3py)K7}lt,WmV?";
					var1.Exception = "jgI2!cQ.}rnJd?,?LS^Z$*4W([VpDP24CF&s$,/CLPl}";
					var1.CreatedDate = DateTime.Now;
					//var2
					var2.Id = Guid.NewGuid();
					var2.DeviceId = 30;
					var2.ApplicationId = "tS}}(_Eeib[p.,\"fFtZ\\7?/#&L$'_CJP{/?8,";
					var2.Message = "SM%\\yZ6vMN#\\2ba<L-]nxIXk0O'ZlbT\\cl-OBIz{MFo";
					var2.Exception = "KK,O@^x3LQ_a2A|/_K1wzC/A#F&";
					var2.CreatedDate = DateTime.Now;
					//var3
					var3.Id = Guid.NewGuid();
					var3.DeviceId = 43;
					var3.ApplicationId = "}+n0EXBMt%!}DO{Iny=clp6=3s}Q.>.DJ-cmG";
					var3.Message = "WQOCXQFhlo+74Ew,y@6u(|";
					var3.Exception = "w3dOq*[zqWmld`4";
					var3.CreatedDate = DateTime.Now;
					//Fix Order
					var order = DateTime.Now;
					var3.CreatedDate = order;
					var2.CreatedDate = order.AddDays(-1);
					var1.CreatedDate = order.AddDays(-2);
					// Add and save entities
					context.ApplicationLogEntries.Add(var1);
					context.ApplicationLogEntries.Add(var2);
					context.ApplicationLogEntries.Add(var3);
					context.SaveChanges();
					//call get method
					var results = controller.Get();
					Assert.IsNotNull(results);
					var list = results.ToList();
					Assert.AreEqual(3, list.Count);
					var one = list[0];
					// var3 -> one
					Assert.AreEqual(var3.Id, one.Id);
					Assert.AreEqual(var3.DeviceId, one.DeviceId);
					Assert.AreEqual(var3.ApplicationId, one.ApplicationId);
					Assert.AreEqual(var3.Message, one.Message);
					Assert.AreEqual(var3.Exception, one.Exception);
					Assert.AreEqual(var3.CreatedDate, one.CreatedDate);
					var two = list[1];
					// var2 -> two
					Assert.AreEqual(var2.Id, two.Id);
					Assert.AreEqual(var2.DeviceId, two.DeviceId);
					Assert.AreEqual(var2.ApplicationId, two.ApplicationId);
					Assert.AreEqual(var2.Message, two.Message);
					Assert.AreEqual(var2.Exception, two.Exception);
					Assert.AreEqual(var2.CreatedDate, two.CreatedDate);
					var three = list[2];
					// var1 -> three
					Assert.AreEqual(var1.Id, three.Id);
					Assert.AreEqual(var1.DeviceId, three.DeviceId);
					Assert.AreEqual(var1.ApplicationId, three.ApplicationId);
					Assert.AreEqual(var1.Message, three.Message);
					Assert.AreEqual(var1.Exception, three.Exception);
					Assert.AreEqual(var1.CreatedDate, three.CreatedDate);
				}
			}
		}
コード例 #37
0
		public async Task DeleteTest()
		{
			using (IDataContext context = new MockDataContext())
			{
				using (var controller = new DevicesController(context))
				{
					var device1 = new Device()
					{
						Name = "Device 1",
						Description = "Desc 1",
						DisplayOrder = 1,
						DateCreated = DateTime.Now
					};
					var device2 = new Device()
					{
						Name = "Device 2",
						Description = "Desc 2",
						DisplayOrder = 2,
						DateCreated = DateTime.Now
					};
					context.Devices.Add(device1);
					context.Devices.Add(device2);
					await context.SaveChangesAsync();

					await controller.Delete(device1.Id);
					Assert.AreEqual(1, context.Devices.Count(), "Item was not deleted");
					var actual = context.Devices.FirstOrDefault();
					Assert.AreEqual(device2.Name, actual.Name, "Appears the wrong device was deleted");

					Assert.ThrowsAsync<KeyNotFoundException>(async () => await controller.Delete(500));
				}
			}
		}