def test_button_update_local(self, clients): refresh_elvanto_data() # ensure Calvin is enabled in Geneva calvin = ElvantoPerson.objects.get( e_id='f7cfa258-d3c6-11e4-95ba-068b656294b7') geneva_grp = ElvantoGroup.objects.get(name='Geneva') assert geneva_grp not in calvin.disabled_groups.all() # disable calvin in group post_data = { 'p_id': calvin.pk, 'g_id': geneva_grp.pk, 'disable': False, } resp = clients['c_in'].generic('POST', reverse('button_update_local'), json.dumps(post_data), content_type='application/json') assert resp.status_code == 200 geneva_grp.refresh_from_db() assert geneva_grp in calvin.disabled_groups.all() # re-enable him again post_data = { 'p_id': calvin.pk, 'g_id': geneva_grp.pk, 'disable': True, } resp = clients['c_in'].generic('POST', reverse('button_update_local'), json.dumps(post_data), content_type='application/json') assert resp.status_code == 200 geneva_grp.refresh_from_db() assert geneva_grp not in calvin.disabled_groups.all()
def test_push_auto_button(self, clients): refresh_elvanto_data() # ensure Geneva not syncing geneva = ElvantoGroup.objects.get(name='Geneva') assert not geneva.push_auto # send button request post_data = { 'pk': geneva.pk, 'push_auto': True, } resp = clients['c_in'].generic('POST', reverse('button_update_sync'), json.dumps(post_data), content_type='application/json') assert resp.status_code == 200 geneva.refresh_from_db() assert geneva.push_auto # and the other direction post_data['push_auto'] = False resp = clients['c_in'].generic('POST', reverse('button_update_sync'), json.dumps(post_data), content_type='application/json') assert resp.status_code == 200 geneva.refresh_from_db() assert not geneva.push_auto
def test_button_update_global(self, clients): refresh_elvanto_data() # ensure Calvin is enabled calvin = ElvantoPerson.objects.get( e_id='f7cfa258-d3c6-11e4-95ba-068b656294b7' ) assert not calvin.disabled_entirely # disable calvin post_data = {'pk': calvin.pk, 'disable': True} resp = clients['c_in'].generic( 'POST', reverse('button_update_global'), json.dumps(post_data), content_type='application/json' ) assert resp.status_code == 200 calvin.refresh_from_db() assert calvin.disabled_entirely # re-enable him again post_data = {'pk': calvin.pk, 'disable': False} resp = clients['c_in'].generic( 'POST', reverse('button_update_global'), json.dumps(post_data), content_type='application/json' ) assert resp.status_code == 200 calvin.refresh_from_db() assert not calvin.disabled_entirely
def test_push_auto_button(self, clients): refresh_elvanto_data() # ensure Geneva not syncing geneva = ElvantoGroup.objects.get(name='Geneva') assert not geneva.push_auto # send button request post_data = { 'pk': geneva.pk, 'push_auto': True, } resp = clients['c_in'].generic( 'POST', reverse('button_update_sync'), json.dumps(post_data), content_type='application/json' ) assert resp.status_code == 200 geneva.refresh_from_db() assert geneva.push_auto # and the other direction post_data['push_auto'] = False resp = clients['c_in'].generic( 'POST', reverse('button_update_sync'), json.dumps(post_data), content_type='application/json' ) assert resp.status_code == 200 geneva.refresh_from_db() assert not geneva.push_auto
def test_post_to_group(self, clients): pk_ = 1 refresh_elvanto_data() post_data = {"google_email": "*****@*****.**", "push_auto": False} resp = clients["c_in"].post(reverse("group", kwargs={"pk": pk_}), post_data) assert resp.status_code == 302 assert resp.url.endswith(reverse("group", kwargs={"pk": pk_})) assert ElvantoGroup.objects.get(pk=pk_).google_email == "*****@*****.**" post_data_invalid = {"google_email": "not_an_email", "push_auto": True} resp = clients["c_in"].post(reverse("group", kwargs={"pk": pk_}), post_data_invalid) assert resp.status_code == 200 assert ElvantoGroup.objects.get(pk=pk_).google_email == "*****@*****.**" assert ElvantoGroup.objects.get(pk=pk_).push_auto is False
def test_email_field(self, clients): refresh_elvanto_data() # ensure Geneva not syncing geneva = ElvantoGroup.objects.get(name='Geneva') assert not geneva.google_email # send button request post_data = {'googleEmail': '*****@*****.**'} resp = clients['c_in'].generic('POST', reverse('api_group', kwargs={'pk': geneva.pk}), json.dumps(post_data), content_type='application/json') assert resp.status_code == 200 geneva.refresh_from_db() assert geneva.google_email == '*****@*****.**'
def test_delete_old_groups(self): elvanto.refresh_elvanto_data() assert ElvantoGroup.objects.count() == 5 assert ElvantoPerson.objects.count() == 11 # construct synthetic elvanto data: data = { 'groups': { 'group': [{ 'id': '7ebd2605-d3c7-11e4-95ba-068b656294b7', }] } } elvanto.delete_missing_groups(data) # check: assert ElvantoGroup.objects.count() == 1 assert ElvantoPerson.objects.count() == 11
def test_button_update_global(self, clients): refresh_elvanto_data() # ensure Calvin is enabled calvin = ElvantoPerson.objects.get(e_id="f7cfa258-d3c6-11e4-95ba-068b656294b7") assert not calvin.disabled_entirely # disable calvin post_data = {"p_id": [calvin.pk], "disabled_boolean": "1"} resp = clients["c_in"].post(reverse("button_update_global"), post_data) assert resp.status_code == 200 calvin.refresh_from_db() assert calvin.disabled_entirely # re-enable him again post_data = {"p_id": [calvin.pk], "disabled_boolean": "0"} resp = clients["c_in"].post(reverse("button_update_global"), post_data) assert resp.status_code == 200 calvin.refresh_from_db() assert not calvin.disabled_entirely
def test_delete_old_groups(self): elvanto.refresh_elvanto_data() assert ElvantoGroup.objects.count() == 5 assert ElvantoPerson.objects.count() == 11 # construct synthetic elvanto data: data = { 'groups': { 'group': [ { 'id': '7ebd2605-d3c7-11e4-95ba-068b656294b7', } ] } } elvanto.delete_missing_groups(data) # check: assert ElvantoGroup.objects.count() == 1 assert ElvantoPerson.objects.count() == 11
def test_email_field(self, clients): refresh_elvanto_data() # ensure Geneva not syncing geneva = ElvantoGroup.objects.get(name='Geneva') assert not geneva.google_email # send button request post_data = {'googleEmail': '*****@*****.**'} resp = clients['c_in'].generic( 'POST', reverse( 'api_group', kwargs={'pk': geneva.pk} ), json.dumps(post_data), content_type='application/json' ) assert resp.status_code == 200 geneva.refresh_from_db() assert geneva.google_email == '*****@*****.**'
def test_button_update_local(self, clients): refresh_elvanto_data() # ensure Calvin is enabled in Geneva calvin = ElvantoPerson.objects.get(e_id="f7cfa258-d3c6-11e4-95ba-068b656294b7") geneva_grp = ElvantoGroup.objects.get(name="Geneva") assert geneva_grp not in calvin.disabled_groups.all() # disable calvin in group post_data = {"p_id": [calvin.pk], "g_id": [geneva_grp.pk], "disabled_boolean": "0"} resp = clients["c_in"].post(reverse("button_update_local"), post_data) assert resp.status_code == 200 geneva_grp.refresh_from_db() assert geneva_grp in calvin.disabled_groups.all() # re-enable him again post_data = {"p_id": [calvin.pk], "g_id": [geneva_grp.pk], "disabled_boolean": "1"} resp = clients["c_in"].post(reverse("button_update_local"), post_data) assert resp.status_code == 200 geneva_grp.refresh_from_db() assert geneva_grp not in calvin.disabled_groups.all()
def test_button_update_local(self, clients): refresh_elvanto_data() # ensure Calvin is enabled in Geneva calvin = ElvantoPerson.objects.get( e_id='f7cfa258-d3c6-11e4-95ba-068b656294b7' ) geneva_grp = ElvantoGroup.objects.get(name='Geneva') assert geneva_grp not in calvin.disabled_groups.all() # disable calvin in group post_data = { 'p_id': calvin.pk, 'g_id': geneva_grp.pk, 'disable': False, } resp = clients['c_in'].generic( 'POST', reverse('button_update_local'), json.dumps(post_data), content_type='application/json' ) assert resp.status_code == 200 geneva_grp.refresh_from_db() assert geneva_grp in calvin.disabled_groups.all() # re-enable him again post_data = { 'p_id': calvin.pk, 'g_id': geneva_grp.pk, 'disable': True, } resp = clients['c_in'].generic( 'POST', reverse('button_update_local'), json.dumps(post_data), content_type='application/json' ) assert resp.status_code == 200 geneva_grp.refresh_from_db() assert geneva_grp not in calvin.disabled_groups.all()
def test_button_update_global(self, clients): refresh_elvanto_data() # ensure Calvin is enabled calvin = ElvantoPerson.objects.get( e_id='f7cfa258-d3c6-11e4-95ba-068b656294b7') assert not calvin.disabled_entirely # disable calvin post_data = {'pk': calvin.pk, 'disable': True} resp = clients['c_in'].generic('POST', reverse('button_update_global'), json.dumps(post_data), content_type='application/json') assert resp.status_code == 200 calvin.refresh_from_db() assert calvin.disabled_entirely # re-enable him again post_data = {'pk': calvin.pk, 'disable': False} resp = clients['c_in'].generic('POST', reverse('button_update_global'), json.dumps(post_data), content_type='application/json') assert resp.status_code == 200 calvin.refresh_from_db() assert not calvin.disabled_entirely
def test_logged_in_db(self, url, status_code, clients): refresh_elvanto_data() assert clients["c_in"].get(url).status_code == status_code
def test_refresh_data(self): elvanto.refresh_elvanto_data()
def bg_refresh_elvanto_data(): refresh_elvanto_data()
def handle(self, *args, **options): self.stdout.write('Beginning pull from elvanto') refresh_elvanto_data() self.stdout.write('Successfully pulled from elvanto')
def test_logged_in_db(self, url, status_code, clients): refresh_elvanto_data() assert clients['c_in'].get(url).status_code == status_code