示例#1
0
    def test_group_delete(self):
        header = self.headers["test4"]
        profile_ids, non_profile_ids = self.get_profile_ids(header)

        groups = Helpers.get_request(f"/groups/?profile_id={profile_ids[0]}",
                                     header=header)
        group_ids = []
        for group in groups[1]:
            if group["admin"]:
                group_ids.append(group["groups"]["group_id"])
        non_group_ids = [i for i in range(1, 11) if i not in group_ids]

        endpoint1 = f"/groups/{group_ids[0]}?profile_id={profile_ids[0]}"
        endpoint2 = f"/groups/{non_group_ids[0]}?profile_id={profile_ids[0]}"
        endpoint3 = f"/groups/{group_ids[0]}?profile_id={non_profile_ids[0]}"

        response, data = Helpers.delete_request(endpoint1, header=header)
        response2, data2 = Helpers.delete_request(endpoint2, header=header)
        response3, data3 = Helpers.delete_request(endpoint3, header=header)

        self.assertEqual(response.status_code, 200)
        self.assertIsInstance(data, dict)
        self.assertEqual(response2.status_code, 401)
        self.assertIsNone(data2)
        self.assertEqual(response3.status_code, 404)
        self.assertIsNone(data3)
示例#2
0
    def test_remove_content(self):
        header = self.headers["test5"]
        endpoint1, endpoint2 = self.generate_profile_endpoints(header)
        endpoint1 = endpoint1 + "/unrecommend"
        endpoint2 = endpoint2 + "/unrecommend"

        unrecommended, available_content = self.get_unrecommended_content(
            endpoint1, header)
        body1 = {"content_id": random.choice(unrecommended)}
        body2 = {"content_id": random.choice(available_content)}

        response, data = Helpers.delete_request(endpoint1,
                                                header=header,
                                                body=body1)
        response2, data2 = Helpers.delete_request(endpoint2,
                                                  header=header,
                                                  body=body1)
        response3, data3 = Helpers.delete_request(endpoint1,
                                                  header=header,
                                                  body=body2)

        self.assertEqual(response.status_code, 200)
        self.assertEqual(len(data), 1)
        self.assertEqual(response2.status_code, 404)
        self.assertIsNone(data2)
        self.assertEqual(response3.status_code, 404)
        self.assertIsNone(data3)
示例#3
0
    def test_remove_member(self):
        header = self.headers["test2"]
        profile_id_search = self.get_profile_ids(header)
        selected_profile_id = random.choice(profile_id_search[0])

        group = GroupMembers.query.filter_by(profile_id=selected_profile_id,
                                             admin=True).first()
        group_id = group.group_id
        non_group_ids = [i for i in range(1, 11) if i != group_id]

        group_members_search = GroupMembers.query.filter_by(group_id=group_id,
                                                            admin=False)

        member_ids = []

        for group in group_members_search:
            member_ids.append(group.profile_id)

        non_member_ids = [i for i in range(1, 11) if i not in member_ids]

        endpoint1 = f"/groups/{random.choice(non_group_ids)}/remove_member"
        endpoint2 = f"/groups/{group_id}/remove_member"

        body1 = {
            "admin_id": f"{selected_profile_id}",
            "member_id": f"{random.choice(member_ids)}"
        }
        body2 = {
            "admin_id": f"{random.choice(member_ids)}",
            "member_id": f"{selected_profile_id}"
        }
        body3 = {
            "admin_id": f"{selected_profile_id}",
            "member_id": f"{random.choice(non_member_ids)}"
        }

        response, data = Helpers.delete_request(endpoint1,
                                                header=header,
                                                body=body1)
        response2, data2 = Helpers.delete_request(endpoint2,
                                                  header=header,
                                                  body=body2)
        response3, data3 = Helpers.delete_request(endpoint2,
                                                  header=header,
                                                  body=body3)
        response4, data4 = Helpers.delete_request(endpoint2,
                                                  header=header,
                                                  body=body1)

        self.assertTrue(response.status_code in [401, 404])
        self.assertIsNone(data)
        self.assertTrue(response2.status_code in [401, 404])
        self.assertIsNone(data2)
        self.assertEqual(response3.status_code, 404)
        self.assertIsNone(data3)
        self.assertEqual(response4.status_code, 200)
        self.assertEqual(data4["status"], "removed from group")
示例#4
0
    def test_delete_profile(self):
        header = self.headers["test3"]
        endpoint1, endpoint2 = self.generate_profile_endpoints(header)

        response, data = Helpers.delete_request(endpoint1, header=header)
        response2, data2 = Helpers.delete_request(endpoint2, header=header)

        self.assertEqual(response.status_code, 200)
        self.assertEqual(response2.status_code, 404)
        self.assertEqual(data["user"]["user_id"], 3)
        self.assertIsNone(data2)
示例#5
0
    def test_remove_content(self):
        header = self.headers["test4"]
        profile_ids, non_profile_ids = self.get_profile_ids(header)

        group_search = GroupMembers.query.filter_by(profile_id=profile_ids[0])

        group_ids = []
        for group in group_search:
            group_ids.append(group.groups.group_id)

        non_group_ids = [i for i in range(1, 11) if i not in group_ids]

        group_content_ids = []
        group_content_search = Group.query.get(group_ids[0])
        for content in group_content_search.content:
            group_content_ids.append(content.content_id)

        non_group_content_ids = [
            i for i in range(1, 31) if i not in group_content_ids
        ]

        endpoint1 = f"/groups/{group_ids[0]}/content?profile_id={profile_ids[0]}"  # noqa: E501
        endpoint2 = f"/groups/{non_group_ids[0]}/content?profile_id={profile_ids[0]}"  # noqa: E501

        body1 = {"content_id": f"{non_group_content_ids[0]}"}
        body2 = {"content_id": f"{group_content_ids[0]}"}
        body3 = {"content_id": "31"}

        response, data = Helpers.delete_request(endpoint1,
                                                header=header,
                                                body=body1)
        response2, data2 = Helpers.delete_request(endpoint2,
                                                  header=header,
                                                  body=body2)
        response3, data3 = Helpers.delete_request(endpoint1,
                                                  header=header,
                                                  body=body3)
        response4, data4 = Helpers.delete_request(endpoint1,
                                                  header=header,
                                                  body=body2)
        data4_content = []
        for content in data4["content"]:
            data4_content.append(content["content_id"])

        self.assertEqual(response.status_code, 404)
        self.assertIsNone(data)
        self.assertEqual(response2.status_code, 401)
        self.assertIsNone(data2)
        self.assertEqual(response3.status_code, 404)
        self.assertIsNone(data3)
        self.assertEqual(response4.status_code, 200)
        self.assertTrue(group_content_ids[0] not in data4_content)
示例#6
0
    def test_delete_content(self):
        selected_content = random.randrange(1, 31)
        endpoint1 = f"/admin/content/{selected_content}"
        endpoint2 = "/admin/content/31"
        header = self.headers["Admin2"]

        response, data = Helpers.delete_request(endpoint1, header=header)
        response2, data2 = Helpers.delete_request(endpoint2, header=header)

        self.assertEqual(response.status_code, 200)
        self.assertEqual(data["content_id"], selected_content)
        self.assertEqual(response2.status_code, 404)
        self.assertIsNone(data2)
示例#7
0
    def test_delete_user(self):
        endpoint = "/users/"
        header = self.headers["test5"]

        before_delete = Helpers.get_request(endpoint, header=header)
        delete = Helpers.delete_request(endpoint, header=header)
        after_delete = Helpers.get_request(endpoint, header=header)
        delete2 = Helpers.delete_request(endpoint, header=header)

        self.assertEqual(before_delete[0].status_code, 200)
        self.assertEqual(before_delete[1]["user_id"], 5)
        self.assertEqual(delete[0].status_code, 200)
        self.assertEqual(delete[1]["user_id"], 5)
        self.assertEqual(after_delete[0].status_code, 404)
        self.assertIsNone(after_delete[1])
        self.assertEqual(delete2[0].status_code, 404)
示例#8
0
    def test_unjoin_group(self):
        header = self.headers["test1"]
        profile_id_search = self.get_profile_ids(header)
        selected_profile_id = random.choice(profile_id_search[0])
        selected_non_profile_id = random.choice(profile_id_search[1])

        group_endpoint = f"/groups/?profile_id={selected_profile_id}"

        groups = []
        group_search = Helpers.get_request(group_endpoint, header=header)
        for group in group_search[1]:
            groups.append(group["groups"]["group_id"])

        non_groups = [i for i in range(1, 11) if i not in groups]

        body1 = {"profile_id": f"{selected_profile_id}"}
        body2 = {"profile_id": f"{selected_non_profile_id}"}

        endpoint1 = f"/groups/{groups[0]}/unjoin"
        endpoint2 = f"/groups/{non_groups[0]}/unjoin"

        response, data = Helpers.delete_request(endpoint1,
                                                header=header,
                                                body=body1)
        response2, data2 = Helpers.delete_request(endpoint2,
                                                  header=header,
                                                  body=body1)
        response3, data3 = Helpers.delete_request(endpoint1,
                                                  header=header,
                                                  body=body2)

        self.assertEqual(response.status_code, 200)
        self.assertEqual(data["profile_id"], selected_profile_id)
        self.assertEqual(data["group_id"], groups[0])
        self.assertEqual(response2.status_code, 401)
        self.assertIsNone(data2)
        self.assertEqual(response3.status_code, 404)
        self.assertIsNone(data3)