def post(self): ''' Updates contact from sent data (contact object at JSON format). Sets its status to Trusted. ''' data = self.get_body_as_dict(expectedFields=["url", "key", "name"]) if data: url = data["url"] slug = slugify(url) contact = ContactManager.getContact(slug) if contact: contact.state = STATE_TRUSTED contact.key = data["key"] contact.name = data["name"] contact.save() self.return_success("Contact trusted.") else: self.return_failure("No contact for this slug.", 400) else: self.return_failure("Sent data are incorrects.", 400)
def post(self): ''' Updates contact from sent data (contact object at JSON format). Sets its status to Trusted. ''' data = self.get_body_as_dict(expectedFields=["url", "key", "name"]) if data: url = data["url"] slug = slugify(url) contact = ContactManager.getContact(slug) if contact: contact.state = STATE_TRUSTED contact.key = data["key"] contact.name = data["name"] contact.save() #self.send_picture_to_contact(contact) self.return_success("Contact trusted.") for websocket_client in websocket_clients: websocket_client.write_message(contact.toJson()) else: self.return_failure("No contact for this slug.", 400) else: self.return_failure("Sent data are incorrects.", 400)
def given_my_contact_is_tagged_with_tag(step, tag): data = { 'tags': [tag] } world.browser.put( "contacts/%s/tags/" % slugify(world.browser2.root_url.decode("utf-8")), body=json_encode(data))
def create_a_default_contact(step): contact = Contact() contact.url = u"http://default:8000/" contact.slug = slugify(contact.url) contact.state = STATE_TRUSTED contact.description = "desc 1" contact.name = "default contact 1" contact.save()
def i_create_one_contact_with_tag_group1(step, tag): contact = Contact( url="http://localhost/1/", slug=slugify(unicode("http://localhost/1/")), state=STATE_PENDING, key="key1", tags=["all", tag] ) contact.save()
def i_create_one_contact_with_tag_group1(step, tag): world.browser.post("contacts/tags/", body='{"name":"%s"}' % tag) contact = Contact(url="http://localhost/1/", slug=slugify(unicode("http://localhost/1/")), state=STATE_PENDING, key="key1", tags=["all", tag]) contact.save()
def creates_contacts(step): contact = Contact() contact.url = "http://localhost/1/" contact.slug = slugify(contact.url) contact.state = STATE_PENDING contact.key = "key1" contact.save() contact2 = Contact() contact2.url = "http://localhost/2/" contact2.slug = slugify(contact2.url) contact2.state = STATE_TRUSTED contact2.key = "key2" contact2.save() contact3 = Contact() contact3.url = "http://localhost/3/" contact3.slug = slugify(contact3.url) contact3.state = STATE_WAIT_APPROVAL contact.key = "key3" contact3.save()
def i_create_one_contact_with_tag_group1(step, tag): world.browser.post("contacts/tags/", body='{"name":"%s"}' % tag) contact = Contact( url="http://localhost/1/", slug=slugify(unicode("http://localhost/1/")), state=STATE_PENDING, key="key1", tags=["all", tag] ) contact.save()
def set_default_user(): reset_documents(Contact, ContactManager.getContacts) reset_documents(Contact, ContactManager.getContacts, db2) world.browser.set_default_user() world.user = world.browser.user world.browser2.set_default_user_2(SECOND_NEWEBE_ROOT_URL) world.browser.login("password") world.browser2.login("password") world.browser.post("contacts/", body='{"url":"%s"}' % world.browser2.root_url) time.sleep(0.3) world.browser2.put("contacts/%s/" % slugify(world.browser.root_url.decode("utf-8")), "")
def set_default_user(): reset_documents(Contact, ContactManager.getContacts) reset_documents(Contact, ContactManager.getContacts, db2) world.browser.set_default_user() world.user = world.browser.user world.browser2.set_default_user_2(SECOND_NEWEBE_ROOT_URL) world.browser.login("password") world.browser2.login("password") world.browser.post("contacts/all/", body='{"url":"%s"}' % world.browser2.root_url) time.sleep(0.3) world.browser2.put( "contacts/%s/" % slugify(world.browser.root_url.decode("utf-8")), "")
def post(self): ''' Creates a new contact from web client data (contact object at JSON format). And send a contact request to the newly created contact. State of contact is set to PENDING. ''' logger = logging.getLogger("newebe.contact") data = self.get_body_as_dict(["url"]) if data: url = data["url"] owner = UserManager.getUser() if owner.url != url: slug = slugify(url) self.contact = Contact( url=url, slug=slug ) self.contact.save() try: data = UserManager.getUser().asContact().toJson() client = ContactClient() client.post(self.contact, "contacts/request/", data, self.on_contact_response) except Exception: import traceback logger.error("Error on adding contact:\n %s" % traceback.format_exc()) self.contact.state = STATE_ERROR self.contact.save() return self.return_one_document(self.contact, 201) else: return self.return_failure( "Wrong data. Url is same as owner URL.", 400) else: return self.return_failure( "Wrong data. Contact has not been created.", 400)
def post(self): ''' Creates a new contact from web client data (contact object at JSON format). And send a contact request to the newly created contact. State of contact is set to PENDING. ''' logger = logging.getLogger("newebe.contact") data = self.get_body_as_dict(["url"]) if data: url = data["url"] owner = UserManager.getUser() if owner.url != url: slug = slugify(url) self.contact = Contact( url=url, slug=slug ) self.contact.save() try: data = UserManager.getUser().asContact().toJson() client = ContactClient() client.post(self.contact, "contacts/request/", data, self.on_contact_response) except Exception: import traceback logger.error("Error on adding contact:\n %s" % traceback.format_exc()) self.contact.state = STATE_ERROR self.contact.save() else: return self.return_failure( "Wrong data. Url is same as owner URL.", 400) else: return self.return_failure( "Wrong data. Contact has not been created.", 400)
def post(self): ''' Create a new contact from sent data (contact object at JSON format). Sets its status to Wait For Approval ''' data = self.get_body_as_dict(expectedFields=["url"]) if data: url = data["url"] owner = UserManager.getUser() if owner.url != url: slug = slugify(url) contact = ContactManager.getContact(slug) owner = UserManager.getUser() if contact is None: contact = Contact( name=data["name"], url=url, slug=slug, key=data["key"], state=STATE_WAIT_APPROVAL, requestDate=datetime.datetime.utcnow(), description=data["description"] ) contact.save() contact.state = STATE_WAIT_APPROVAL contact.save() for websocket_client in websocket_clients: websocket_client.write_message(contact.toJson()) self.return_success("Request received.") else: self.return_failure("Contact and owner have same url.") else: self.return_failure("Sent data are incorrects.")
def set_browers(): reset_documents(Contact, ContactManager.getContacts) reset_documents(Contact, ContactManager.getContacts, db2) world.browser = NewebeClient() world.browser.set_default_user() world.browser.login("password") try: world.browser2 = NewebeClient() world.browser2.set_default_user_2(SECOND_NEWEBE_ROOT_URL) world.user2 = world.browser2.user world.browser2.login("password") world.browser.post("contacts/all/", body='{"url":"%s"}' % world.browser2.root_url) time.sleep(0.3) world.browser2.put("contacts/%s/" % slugify(world.browser.root_url.decode("utf-8")), "") except HTTPError: print "[WARNING] Second newebe instance does not look started"
def set_browers(): reset_documents(Contact, ContactManager.getContacts) reset_documents(Contact, ContactManager.getContacts, db2) world.browser = NewebeClient() world.browser.set_default_user() world.browser.login("password") try: world.browser2 = NewebeClient() world.browser2.set_default_user_2(SECOND_NEWEBE_ROOT_URL) world.user2 = world.browser2.user world.browser2.login("password") world.browser.post("contacts/", body='{"url":"%s"}' % world.browser2.root_url) time.sleep(0.3) world.browser2.put( "contacts/%s" % slugify(world.browser.root_url.decode("utf-8")), '{"state":"Trusted"}') except HTTPError: print "[WARNING] Second newebe instance does not look started"
def on_seconde_newebe_confirm_first_newebe_request(step): world.browser2.put("contacts/%s/" % slugify(ROOT_URL), "")
def checks_that_default_contact_data_are_updated(step): contact = ContactManager.getContact(slugify(u"http://default:8000/")) assert "http://default:8010/" == contact.url assert "default contact 2" == contact.name assert "desc 2" == contact.description
def change_default_contact_data_through_handlers(step): contact = ContactManager.getContact(slugify(u"http://default:8000/")) contact.description = "desc 2" contact.url = u"http://default:8010/" contact.name = "default contact 2" world.browser.put("contacts/update-profile/", contact.toJson())
def given_my_contact_is_tagged_with_tag(step, tag): data = {'tags': [tag]} world.browser.put("contacts/%s/tags/" % slugify(world.browser2.root_url.decode("utf-8")), body=json_encode(data))
def convert_http_www_test_net_13200(step): world.slug = slugify.slugify(u"http://www.test.net:13200/")
def on_seconde_newebe_confirm_first_newebe_request(step): world.browser2.put('contacts/%s' % slugify(ROOT_URL), body='{"state":"%s", "tags":null}' % STATE_TRUSTED)
def send_a_retry_request_for_this_contact(step): world.browser.post("contacts/%s/retry/" % slugify(SECOND_NEWEBE_ROOT_URL), "") time.sleep(0.3)
def convert_jhon_doe(step): world.slug = slugify.slugify(u"Jhon Doe")