~mvo/software-center/purchaseviewspinner

« back to all changes in this revision

Viewing changes to softwarecenter/backend/rnrclient_fake.py

  • Committer: Aaron Peachey
  • Date: 2011-06-03 06:08:15 UTC
  • mto: (1839.2.1 trunk) (1805.1.26 tests)
  • mto: This revision was merged to the branch mainline in revision 1861.
  • Revision ID: alpeachey@gmail.com-20110603060815-lq077p1ralhunt8g
create a fake get_usefulness() response and 
create a shortcut shell script to run in fake mode

Show diffs side-by-side

added added

removed removed

Lines of Context:
42
42
                     'aisleriot', 'p7zip-full', 'compiz-core', 'banshee', 
43
43
                     'gconf-editor', 'nanny', '3depict', 'apturl', 'jockey-gtk', 
44
44
                     'alex4', 'bzr-explorer', 'aqualung']
 
45
    USERS = ["Joe Doll", "John Foo", "Cat Lala", "Foo Grumpf", 
 
46
             "Bar Tender", "Baz Lightyear"]
 
47
    SUMMARIES = ["Cool", "Medium", "Bad", "Too difficult"]
 
48
    TEXT = ["Review text number 1", "Review text number 2", 
 
49
            "Review text number 3", "Review text number 4"]
45
50
 
46
51
 
47
52
    @returns_json
136
141
    @validate_pattern('username', r'[^\n]+', required=False)
137
142
    @returns_json
138
143
    def get_usefulness(self, review_id=None, username=None):
139
 
        """Get a list of usefulness filtered by username/review_id"""
140
144
        if not username and not review_id:
141
145
            return None
142
 
 
143
 
        data = {}
144
 
 
145
 
        if username:
146
 
            data['username'] = username
 
146
        
 
147
        if FakeReviewSettings.get_usefulness_error:
 
148
            raise APIError(self.exception_msg)
 
149
        
 
150
        #just return a single fake item if the revire_id was supplied
147
151
        if review_id:
148
 
            data['review_id'] = str(review_id)
 
152
            if username:
 
153
                response_user = username
 
154
            else:
 
155
                response_user = random.choice(self.USERS)
 
156
                
 
157
            response = {
 
158
                'username':response_user,
 
159
                'useful':random.choice(['True','False']),
 
160
                'review_id':review_id
 
161
                }
 
162
            return simplejson.dumps([response])
 
163
            
 
164
        #set up review ids to honour requested and also add randoms
 
165
        quantity = FakeReviewSettings.votes_returned
 
166
        id_list = FakeReviewSettings.required_review_ids
 
167
        id_quantity = len(id_list)
149
168
 
150
 
        #return self._get('usefulness/', args=data,
151
 
        #    scheme=PUBLIC_API_SCHEME)
 
169
        #figure out if we need to accomodate requested review ids
 
170
        if id_quantity == 0:
 
171
            rand_id_start = 0
 
172
        else:
 
173
            rand_id_start = max(id_list)
 
174
        
 
175
        votes = []
 
176
            
 
177
        for i in range(0, quantity):
 
178
            #assign review ids requested if any still exist
 
179
            try:
 
180
                id = id_list[i]
 
181
            except IndexError:
 
182
                id = random.randint(rand_id_start,10000)
 
183
                
 
184
            u = {
 
185
                 'username': username, 
 
186
                 'useful': random.choice(['True','False']), 
 
187
                 'review_id' : id
 
188
                }
 
189
            votes.append(u)
 
190
        
 
191
        return simplejson.dumps(votes)
152
192
        
153
193
        
154
194
    def _make_fake_reviews(self, packagename='compiz-core', 
155
195
                           quantity=1, single_id=None):
156
196
        """Make and return a requested quantity of fake reviews"""
157
 
        USERS = ["Joe Doll", "John Foo", "Cat Lala", "Foo Grumpf", 
158
 
                 "Bar Tender", "Baz Lightyear"]
159
 
        SUMMARIES = ["Cool", "Medium", "Bad", "Too difficult"]
160
 
        TEXT = ["Review text number 1", "Review text number 2", 
161
 
                "Review text number 3", "Review text number 4"]
162
197
        
163
198
        reviews = []
164
199
        
174
209
                        "hide": False,
175
210
                        "app_name": "",
176
211
                        "language": "en",
177
 
                        "reviewer_username": random.choice(USERS),
 
212
                        "reviewer_username": random.choice(self.USERS),
178
213
                        "usefulness_total": random.randint(3,6),
179
214
                        "usefulness_favorable": random.randint(1,3),
180
 
                        "review_text": random.choice(TEXT),
 
215
                        "review_text": random.choice(self.TEXT),
181
216
                        "date_deleted": None,
182
 
                        "summary": random.choice(SUMMARIES),
 
217
                        "summary": random.choice(self.SUMMARIES),
183
218
                        "version": "1:0.9.4",
184
219
                        "id": id,
185
220
                        "date_created": time.strftime("%Y-%m-%d %H:%M:%S"),