Class: GmailContacts::TestStub
- Inherits:
-
Object
- Object
- GmailContacts::TestStub
- Defined in:
- lib/gmail_contacts/test_stub.rb
Overview
Handy data files and GData modifications that allow GmailContacts to be more easily tested
To setup:
require 'gmail_contacts'
require 'gmail_contacts/test_stub'
class TestMyClass < Test::Unit::TestCase
def test_something
GmailContacts.stub
# ... your code using gc
end
end
If you set the authsub token to ‘recycled_authsub_token’, the test stub will raise a GData::Client::AuthorizationError when you call #get_token.
If you set the authsub token to ‘wrong_user_authsub_token’, the test stub will raise a GData::Client::AuthorizationError when you call #fetch.
If you set the authsub token to ‘authsub_token’, #get_token will change it to ‘authsub_token-upgraded’ to indicate it was upgraded to a session token.
If you fetch a photo with 404 in the url, #fetch_photo will raise a Net::HTTPServerException with a 404 response inside.
#revoke_token will set the token to ‘authsub_token-revoked’ to indicate it was revoked.
Constant Summary collapse
- CONTACTS =
First page of contacts
<<-ATOM <?xml version="1.0" encoding="UTF-8"?> <feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:gContact="http://schemas.google.com/contact/2008" xmlns:batch="http://schemas.google.com/gdata/batch" xmlns:gd="http://schemas.google.com/g/2005" gd:etag="W/"CEMBRHY6fSp7ImA9WxVUGEk.""> <id>[email protected]</id> <updated>2009-03-23T21:07:35.815Z</updated> <category scheme="http://schemas.google.com/g/2005#kind" term="http://schemas.google.com/contact/2008#contact"/> <title>drbrain's Contacts</title> <link rel="alternate" type="text/html" href="http://www.google.com/"/> <link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://www.google.com/m8/feeds/contacts/eric%40example.com/full"/> <link rel="http://schemas.google.com/g/2005#post" type="application/atom+xml" href="http://www.google.com/m8/feeds/contacts/eric%40example.com/full"/> <link rel="http://schemas.google.com/g/2005#batch" type="application/atom+xml" href="http://www.google.com/m8/feeds/contacts/eric%40example.com/full/batch"/> <link rel="self" type="application/atom+xml" href="http://www.google.com/m8/feeds/contacts/eric%40example.com/full?max-results=2"/> <link rel="next" type="application/atom+xml" href="http://www.google.com/m8/feeds/contacts/eric%40example.com/full?start-index=3&max-results=2"/> <author> <name>drbrain</name> <email>[email protected]</email> </author> <generator version="1.0" uri="http://www.google.com/m8/feeds">Contacts</generator> <openSearch:totalResults>4</openSearch:totalResults> <openSearch:startIndex>1</openSearch:startIndex> <openSearch:itemsPerPage>2</openSearch:itemsPerPage> <entry gd:etag=""SHg-cTVSLip7ImA9WB5WGUUIQgc.""> <id>http://www.google.com/m8/feeds/contacts/eric%40example.com/base/0</id> <updated>2007-08-01T15:35:39.659Z</updated> <app:edited xmlns:app="http://www.w3.org/2007/app">2007-08-01T15:35:39.659Z</app:edited> <category scheme="http://schemas.google.com/g/2005#kind" term="http://schemas.google.com/contact/2008#contact"/> <title>Sean</title> <link rel="http://schemas.google.com/contacts/2008/rel#photo" type="image/*" href="http://www.google.com/m8/feeds/photos/media/eric%40example.com/0"/> <link rel="self" type="application/atom+xml" href="http://www.google.com/m8/feeds/contacts/eric%40example.com/full/0"/> <link rel="edit" type="application/atom+xml" href="http://www.google.com/m8/feeds/contacts/eric%40example.com/full/0"/> <gd:email rel="http://schemas.google.com/g/2005#other" address="[email protected]" primary="true"/> </entry> <entry gd:etag=""QXk4fjVSLyp7ImA9WxVUGUwDRgE.""> <id>http://www.google.com/m8/feeds/contacts/eric%40example.com/base/18</id> <updated>2009-03-24T18:25:50.736Z</updated> <app:edited xmlns:app="http://www.w3.org/2007/app">2009-03-24T18:25:50.736Z</app:edited> <category scheme="http://schemas.google.com/g/2005#kind" term="http://schemas.google.com/contact/2008#contact"/> <title>Eric</title> <link rel="http://schemas.google.com/contacts/2008/rel#photo" type="image/*" href="http://www.google.com/m8/feeds/photos/media/eric%40example.com/18" gd:etag=""UD9rbkUqSip7ImBkJkcZdVBoHxkeNFMKV1E.""/> <link rel="self" type="application/atom+xml" href="http://www.google.com/m8/feeds/contacts/eric%40example.com/full/18"/> <link rel="edit" type="application/atom+xml" href="http://www.google.com/m8/feeds/contacts/eric%40example.com/full/18"/> <gd:email rel="http://schemas.google.com/g/2005#other" address="[email protected]" primary="true"/> <gd:email rel="http://schemas.google.com/g/2005#other" address="[email protected]"/> <gd:im address="example" protocol="http://schemas.google.com/g/2005#AIM" rel="http://schemas.google.com/g/2005#other"/> <gd:phoneNumber rel="http://schemas.google.com/g/2005#mobile">999 555 1212</gd:phoneNumber> <gd:postalAddress rel="http://schemas.google.com/g/2005#home">123 Any Street AnyTown, ZZ 99999</gd:postalAddress> <gContact:groupMembershipInfo deleted="false" href="http://www.google.com/m8/feeds/groups/eric%40example.com/base/6"/> </entry> </feed> ATOM
- CONTACTS2 =
Second page of contacts
<<-ATOM <?xml version="1.0" encoding="UTF-8"?> <feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:gContact="http://schemas.google.com/contact/2008" xmlns:batch="http://schemas.google.com/gdata/batch" xmlns:gd="http://schemas.google.com/g/2005" gd:etag="W/"CEYFQXkzfCp7ImA9WxVUGEg.""> <id>[email protected]</id> <updated>2009-03-23T23:48:30.784Z</updated> <category scheme="http://schemas.google.com/g/2005#kind" term="http://schemas.google.com/contact/2008#contact"/> <title>drbrain's Contacts</title> <link rel="alternate" type="text/html" href="http://www.google.com/"/> <link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://www.google.com/m8/feeds/contacts/eric%40example.com/full"/> <link rel="http://schemas.google.com/g/2005#post" type="application/atom+xml" href="http://www.google.com/m8/feeds/contacts/eric%40example.com/full"/> <link rel="http://schemas.google.com/g/2005#batch" type="application/atom+xml" href="http://www.google.com/m8/feeds/contacts/eric%40example.com/full/batch"/> <link rel="self" type="application/atom+xml" href="http://www.google.com/m8/feeds/contacts/eric%40example.com/full?start-index=3&max-results=2"/> <link rel="previous" type="application/atom+xml" href="http://www.google.com/m8/feeds/contacts/eric%40example.com/full?start-index=1&max-results=2"/> <author> <name>drbrain</name> <email>[email protected]</email> </author> <generator version="1.0" uri="http://www.google.com/m8/feeds">Contacts</generator> <openSearch:totalResults>4</openSearch:totalResults> <openSearch:startIndex>3</openSearch:startIndex> <openSearch:itemsPerPage>2</openSearch:itemsPerPage> <entry gd:etag=""QXk_fTVSLyp7ImA9WxVUFUQITgA.""> <id>http://www.google.com/m8/feeds/contacts/eric%40example.com/base/5834fb5d0b47bfd7</id> <updated>2009-03-20T23:49:00.745Z</updated> <app:edited xmlns:app="http://www.w3.org/2007/app">2009-03-20T23:49:00.745Z</app:edited> <category scheme="http://schemas.google.com/g/2005#kind" term="http://schemas.google.com/contact/2008#contact"/> <title>Coby</title> <link rel="http://schemas.google.com/contacts/2008/rel#photo" type="image/*" href="http://www.google.com/m8/feeds/photos/media/eric%40example.com/5834fb5d0b47bfd7" gd:etag=""eRJhPnolbCp7ImBjG0U0GBtuHmVAdnsJYzM.""/> <link rel="self" type="application/atom+xml" href="http://www.google.com/m8/feeds/contacts/eric%40example.com/full/5834fb5d0b47bfd7"/> <link rel="edit" type="application/atom+xml" href="http://www.google.com/m8/feeds/contacts/eric%40example.com/full/5834fb5d0b47bfd7"/> <gd:email rel="http://schemas.google.com/g/2005#other" address="[email protected]" primary="true"/> <gContact:groupMembershipInfo deleted="false" href="http://www.google.com/m8/feeds/groups/eric%40example.com/base/6"/> </entry> <entry gd:etag=""QXk_fTVSLyp7ImA9WxVUFUQITgAz""> <id>http://www.google.com/m8/feeds/contacts/eric%40example.com/base/5834fb5d0b47bfdb</id> <updated>2009-03-20T23:49:00.745Z</updated> <app:edited xmlns:app="http://www.w3.org/2007/app">2009-03-20T23:49:00.745Z</app:edited> <category scheme="http://schemas.google.com/g/2005#kind" term="http://schemas.google.com/contact/2008#contact"/> <title>No-email</title> <link rel="http://schemas.google.com/contacts/2008/rel#photo" type="image/*" href="http://www.google.com/m8/feeds/photos/media/eric%40example.com/5834fb5d0b47bfdb" gd:etag=""eRJhPnolbCp7ImBjG0U0GBtuHmVAdnsJYzMz""/> <link rel="self" type="application/atom+xml" href="http://www.google.com/m8/feeds/contacts/eric%40example.com/full/5834fb5d0b47bfdb"/> <link rel="edit" type="application/atom+xml" href="http://www.google.com/m8/feeds/contacts/eric%40example.com/full/5834fb5d0b47bfdb"/> <gContact:groupMembershipInfo deleted="false" href="http://www.google.com/m8/feeds/groups/eric%40example.com/base/6"/> </entry> </feed> ATOM