Example #1
0
    def test_update_site(self):
        group1 = Group("group1")
        group2 = Group("group2")
        group3 = Group("group3")
        group1.create()
        group2.create()
        group3.create()

        site = Site(self.target_url)
        res1 = site.create()
        site_id = res1.json()["site"]["id"]
        # Verify that the new site has no plans and no groups
        self.assertEqual(res1.json()["site"]['plans'], site.plans)
        self.assertEqual(res1.json()["site"]['groups'], site.groups)

        # Update the site, add a plan and group
        res2 = site.update(site_id, groups=[group1.group_name],
            plans=[self.TEST_PLAN["name"]])
        # Verify that the site has these new settings
        res3 = site.get(site_id)
        self.assertEqual(res3.json()["site"]['plans'], [self.TEST_PLAN["name"]])
        self.assertEqual(res3.json()["site"]["groups"], [group1.group_name])
        self.assertEqual(res3.json()["site"]['url'], site.url)

        # Update the site, replace plans and groups
        res4 = site.update(site_id, groups=[group2.group_name, group3.group_name]) # bug #144
        res5 = site.get(site_id)
        self.assertEqual(res5.json()["site"]['plans'], [self.TEST_PLAN["name"]])
        self.assertEqual(set(res5.json()["site"]['groups']), set([group2.group_name, group3.group_name]))
        self.assertEqual(res5.json()["site"]['url'], site.url)
    def test_send_invite_with_groups_and_sites(self):
        sender = User(self.email, name="Bob")
        sender.create()
        recipient = User(self.random_email(), name="Alice")
        recipient.invite()

        # create the invitation
        invite = Invite(sender.email, recipient.email)
        res = invite.create() 
        invite_id = res.json()['invite']['id']

        # create a site in minion
        site = Site(self.target_url)
        res2 = site.create()
        site_id = res2.json()["site"]["id"]

        # Uncomment the following checks when #297 is resolved.
        # create a group in minion
        group = Group(self.group_name, sites=[site.url], users=[recipient.email])
        res3 = group.create()

        # site should exists in group and recipient should also be in the same group
        res4 = group.get()
        self.assertEqual(res4.json()['group']['users'], [recipient.email,])

        res5 = site.get(site_id)
        self.assertEqual(res5.json()["site"]["groups"], [group.group_name])

        # finally, if we query recipient's user object, user should be in
        # the group and have access to a site.
        res6 = recipient.get()
        self.assertEqual(res6.json()["user"]["sites"], [site.url])
        self.assertEqual(res6.json()["user"]["groups"], [group.group_name])
Example #3
0
    def test_get_site(self):
        group = Group(self.group_name)
        group.create()

        site = Site(self.target_url, groups=[group.group_name])
        res1 = site.create()
        site_id = res1.json()["site"]["id"]

        res2 = site.get(site_id)
        self.assertEqual(res2.json()["success"], True)
        self.assertEqual(res2.json()['site'], res1.json()['site'])
    def test_send_invite_with_groups_and_sites(self):
        sender = User(self.email, name="Bob")
        sender.create()
        recipient = User(self.random_email(), name="Alice")
        recipient.invite()

        # create the invitation
        invite = Invite(sender.email, recipient.email)
        res = invite.create()
        invite_id = res.json()['invite']['id']

        # create a site in minion
        site = Site(self.target_url)
        res2 = site.create()
        site_id = res2.json()["site"]["id"]

        # Uncomment the following checks when #297 is resolved.
        # create a group in minion
        group = Group(self.group_name,
                      sites=[site.url],
                      users=[recipient.email])
        res3 = group.create()

        # site should exists in group and recipient should also be in the same group
        res4 = group.get()
        self.assertEqual(res4.json()['group']['users'], [
            recipient.email,
        ])

        res5 = site.get(site_id)
        self.assertEqual(res5.json()["site"]["groups"], [group.group_name])

        # finally, if we query recipient's user object, user should be in
        # the group and have access to a site.
        res6 = recipient.get()
        self.assertEqual(res6.json()["user"]["sites"], [site.url])
        self.assertEqual(res6.json()["user"]["groups"], [group.group_name])