Ejemplo n.º 1
0
        public void LoginNonExistantUser()
        {
            try
            {
                using (MySqlDataManipulator manipulator = new MySqlDataManipulator())
                {
                    manipulator.Connect(TestingConstants.ConnectionString);
                    Assert.IsTrue(manipulator.RemoveUserByEmail(TestingUserStorage.ValidUser2.Email));
                    object[] contextAndRequest = ServerTestingMessageSwitchback.SwitchbackMessage(
                        TestingUserStorage.ValidUser2.ConstructLoginRequest(),
                        "PUT");
                    var ctx = contextAndRequest[0] as HttpListenerContext;
                    var req = contextAndRequest[1] as HttpWebRequest;
                    TestApi.PUT(ctx);

                    HttpWebResponse resp;
                    try
                    {
                        resp = req.EndGetResponse(contextAndRequest[2] as IAsyncResult) as HttpWebResponse;
                        Assert.Fail("Expected the response to be an error response. This was not the case.");
                    }
                    catch (WebException e)
                    {
                        resp = e.Response as HttpWebResponse;
                    }
                    Assert.AreEqual(HttpStatusCode.NotFound, resp.StatusCode);
                }
            }
            finally
            {
                TestingDatabaseCreationUtils.InitializeUsers();
            }
        }
        public void TestBadRequestOnAllEmptyFields()
        {
            try
            {
                MySqlDataManipulator manipulator = new MySqlDataManipulator();
                using (manipulator)
                {
                    manipulator.Connect(TestingConstants.ConnectionString);
                    Assert.IsTrue(manipulator.RemoveUserByEmail(TestingUserStorage.ValidUser1.Email));
                    var      creationMessage   = new JsonDictionaryStringConstructor();
                    object[] contextAndRequest = ServerTestingMessageSwitchback.SwitchbackMessage(
                        creationMessage,
                        "POST");
                    var ctx = contextAndRequest[0] as HttpListenerContext;
                    var req = contextAndRequest[1] as HttpWebRequest;

                    HttpWebResponse resp;

                    TestApi.POST(ctx);
                    try
                    {
                        resp = req.EndGetResponse(contextAndRequest[2] as IAsyncResult) as HttpWebResponse;
                    }
                    catch (WebException e)
                    {
                        resp = e.Response as HttpWebResponse;
                    }
                    Assert.AreEqual(HttpStatusCode.BadRequest, resp.StatusCode);
                }
            }
            finally
            {
                TestingDatabaseCreationUtils.InitializeUsers();
            }
        }
 public static void CleanupTests()
 {
     ServerTestingMessageSwitchback.CloseSwitchback();
     if (!TestingDatabaseCreationUtils.DestoryDatabase())
     {
         throw new Exception("Failed to destroy testing database. This is bad. Manual deletion is required");
     }
 }
 public static void InitializeClass(TestContext context)
 {
     if (!TestingDatabaseCreationUtils.InitializeDatabaseSchema())
     {
         throw new Exception("Failed to initialize database schema. See Logged error for details");
     }
     TestApi = new CompanySettingsApi(10000);
 }
Ejemplo n.º 5
0
 public static void CleanupTestSuite()
 {
     if (!TestingDatabaseCreationUtils.DestoryDatabase())
     {
         throw new Exception("Failed to destroy database. This is bad. Manual deletion required");
     }
     Manipulator.Close();
 }
 public static void SetupTests(TestContext ctx)
 {
     if (!TestingDatabaseCreationUtils.InitializeDatabaseSchema())
     {
         throw new Exception("Failed to initialize database. See logged error.");
     }
     TestApi = new UserApi(10000);
 }
        public void TestValidRequest()
        {
            MySqlDataManipulator manipulator = new MySqlDataManipulator();

            Assert.IsTrue(manipulator.Connect(TestingConstants.ConnectionString));
            using (manipulator) {
                PartCatalogueEntry entry = manipulator.GetPartCatalogueEntriesWhere(1,
                                                                                    string.Format("PartId=\"{0}\"", TestingPartEntry.ValidPartEntry1.PartId)
                                                                                    )[0];
                Assert.IsTrue(manipulator.RemovePartCatalogueEntry(
                                  1, entry.Id
                                  ));
                var entryList = manipulator.GetPartCatalogueEntriesWhere(
                    1,
                    string.Format("PartId=\"{0}\"", TestingPartEntry.ValidPartEntry1.PartId)
                    );
                Assert.AreEqual(0, entryList.Count);
                try {
                    Assert.IsTrue(NetTestingUserUtils.AuthenticateTestingUser(TestingUserStorage.ValidUser3, manipulator));
                    OverallUser validUser1 = manipulator.GetUsersWhere(
                        string.Format("Email=\"{0}\"", TestingUserStorage.ValidUser3.Email)
                        )[0];
                    var loginTokens = UserVerificationUtil.ExtractLoginTokens(validUser1);
                    var message     = TestingPartEntry.ValidPartEntry1.ConstructAdditionRequest(
                        validUser1.UserId, loginTokens.LoginToken, loginTokens.AuthToken
                        );
                    object[] contextAndRequest = ServerTestingMessageSwitchback.SwitchbackMessage(
                        message, "POST"
                        );
                    var context = contextAndRequest[0] as HttpListenerContext;
                    var req     = contextAndRequest[1] as HttpWebRequest;
                    TestApi.POST(context);
                    HttpWebResponse response;
                    try {
                        response = req.EndGetResponse(contextAndRequest[2] as IAsyncResult) as HttpWebResponse;
                    } catch (WebException e) {
                        response = e.Response as HttpWebResponse;
                        Assert.Fail("Server sent back an error response: {0}",
                                    response.StatusCode);
                    }
                    Assert.AreEqual(HttpStatusCode.OK, response.StatusCode);
                    var addedEntryList = manipulator.GetPartCatalogueEntriesWhere(
                        1,
                        string.Format("PartId=\"{0}\"", TestingPartEntry.ValidPartEntry1.PartId)
                        );
                    Assert.AreEqual(1, addedEntryList.Count);
                } finally {
                    if (
                        manipulator.GetPartCatalogueEntriesWhere(1,
                                                                 string.Format("PartId=\"{0}\"", TestingPartEntry.ValidPartEntry1.PartId)
                                                                 ).Count == 0
                        )
                    {
                        Assert.IsTrue(TestingDatabaseCreationUtils.InitializePartCatelogueEntries());
                    }
                }
            }
        }
Ejemplo n.º 8
0
        public static void SetupTestSuite(TestContext ctx)
        {
            if (!TestingDatabaseCreationUtils.InitializeDatabaseSchema())
            {
                throw new Exception("Failed to initialize database schema. See logged error");
            }
            Manipulator = new MySqlDataManipulator();
            bool res = Manipulator.Connect(TestingConstants.ConnectionString);

            Manipulator.AddUser("msn", "1234", "red", "blue");
        }
Ejemplo n.º 9
0
 public static void InitializeClass(TestContext ctx)
 {
     if (!TestingDatabaseCreationUtils.InitializeDatabaseSchema())
     {
         throw new Exception("Failed to initialize database schema. See logged error for details");
     }
     TestApi = new UserSettingsApi(10000);
     if (!TestingDatabaseCreationUtils.InitializeUsers())
     {
         throw new Exception("Failed to initialize users in database. See logged error for details");
     }
 }
 public static void SetupTests(TestContext context)
 {
     if (!TestingDatabaseCreationUtils.InitializeDatabaseSchema())
     {
         throw new Exception("Failed to initalize database. See logged error");
     }
     TestApi = new RepairJobReportApi(10000);
     if (!TestingDatabaseCreationUtils.InitializeUsers())
     {
         throw new Exception("Failed to initialize users in database. See logged error");
     }
 }
        public void TestCreateValidUser1()
        {
            MySqlDataManipulator manipulator = new MySqlDataManipulator();

            using (manipulator)
            {
                manipulator.Connect(TestingConstants.ConnectionString);
                Assert.IsTrue(manipulator.RemoveUserByEmail(TestingUserStorage.ValidUser1.Email));
                object[] contextAndRequest = ServerTestingMessageSwitchback.SwitchbackMessage(
                    TestingUserStorage.ValidUser1.ConstructCreationMessage(),
                    "POST");
                var ctx = contextAndRequest[0] as HttpListenerContext;
                var req = contextAndRequest[1] as HttpWebRequest;
                TestApi.POST(ctx);

                HttpWebResponse resp;
                try
                {
                    resp = req.EndGetResponse(contextAndRequest[2] as IAsyncResult) as HttpWebResponse;
                }
                catch (WebException e)
                {
                    resp = e.Response as HttpWebResponse;
                }
                try
                {
                    Assert.AreEqual(HttpStatusCode.OK, resp.StatusCode);
                }
                catch (AssertFailedException e)
                {
                    byte[] respData = new byte[resp.ContentLength];
                    resp.GetResponseStream().Read(respData, 0, respData.Length);
                    Console.WriteLine(Encoding.UTF8.GetString(respData));
                    TestingDatabaseCreationUtils.InitializeUsers();
                    throw e;
                }

                var createdUser = manipulator.GetUsersWhere(string.Format("Email = \"{0}\"", TestingUserStorage.ValidUser1.Email));
                Assert.IsNotNull(createdUser);
                Assert.AreEqual(1, createdUser.Count);
                Assert.AreEqual(TestingUserStorage.ValidUser1.Email, createdUser[0].Email);
            }
        }
 public static void ClassCleanup()
 {
     TestingDatabaseCreationUtils.DestoryDatabase();
     TestConnection.Close();
 }