canned_data.py revision 68043e1e95eeb07d5cae7aca370b26518b0867d6
1# Copyright 2013 The Chromium Authors. All rights reserved.
2# Use of this source code is governed by a BSD-style license that can be
3# found in the LICENSE file.
4
5import json
6from third_party.json_schema_compiler.json_parse import OrderedDict
7
8
9CANNED_CHANNELS = OrderedDict([
10  ('trunk', 'trunk'),
11  ('dev', 28),
12  ('beta', 27),
13  ('stable', 26)
14])
15
16
17CANNED_BRANCHES = OrderedDict([
18  ('trunk', 'trunk'),
19  (28, 1500),
20  (27, 1453),
21  (26, 1410),
22  (25, 1364),
23  (24, 1312),
24  (23, 1271),
25  (22, 1229),
26  (21, 1180),
27  (20, 1132),
28  (19, 1084),
29  (18, 1025),
30  (17, 963),
31  (16, 912),
32  (15, 874),
33  (14, 835),
34  (13, 782),
35  (12, 742),
36  (11, 696),
37  (10, 648),
38  ( 9, 597),
39  ( 8, 552),
40  ( 7, 544),
41  ( 6, 495),
42  ( 5, 396)
43])
44
45
46CANNED_TEST_FILE_SYSTEM_DATA = {
47  'api': {
48    '_api_features.json': json.dumps({
49      'ref_test': { 'dependencies': ['permission:ref_test'] },
50      'tester': { 'dependencies': ['permission:tester', 'manifest:tester'] }
51    }),
52    '_manifest_features.json': json.dumps({
53      'manifest': 'features'
54    }),
55    '_permission_features.json': json.dumps({
56      'permission': 'features'
57    })
58  },
59  'docs': {
60    'templates': {
61      'intros': {
62        'test.html': '<h1>hi</h1>you<h2>first</h2><h3>inner</h3><h2>second</h2>'
63      },
64      'json': {
65        'api_availabilities.json': json.dumps({
66          'trunk_api': {
67            'channel': 'trunk'
68          },
69          'dev_api': {
70            'channel': 'dev'
71          },
72          'beta_api': {
73            'channel': 'beta'
74          },
75          'stable_api': {
76            'channel': 'stable',
77            'version': 20
78          }
79        }),
80        'intro_tables.json': json.dumps({
81          'tester': {
82            'Permissions': [
83              {
84                'class': 'override',
85                'text': '"tester"'
86              },
87              {
88                'text': 'is an API for testing things.'
89              }
90            ],
91            'Learn More': [
92              {
93                'link': 'https://tester.test.com/welcome.html',
94                'text': 'Welcome!'
95              }
96            ]
97          }
98        })
99      },
100      'private': {
101        'intro_tables': {
102          'trunk_message.html': 'available on trunk'
103        }
104      }
105    }
106  }
107}
108
109
110CANNED_API_FILE_SYSTEM_DATA = {
111  'trunk': {
112    'api': {
113      '_api_features.json': json.dumps({
114        'contextMenus': {
115          'channel': 'stable'
116        },
117        'events': {
118          'channel': 'stable'
119        },
120        'extension': {
121          'channel': 'stable'
122        },
123        'systemInfo.cpu': {
124          'channel': 'stable'
125        },
126        'systemInfo.stuff': {
127          'channel': 'dev'
128        }
129      }),
130      '_manifest_features.json': json.dumps({
131        'history': {
132          'channel': 'beta'
133        },
134        'notifications': {
135          'channel': 'beta'
136        },
137        'page_action': {
138          'channel': 'stable'
139        },
140        'runtime': {
141          'channel': 'stable'
142        },
143        'storage': {
144          'channel': 'beta'
145        },
146        'sync': {
147          'channel': 'trunk'
148        },
149        'web_request': {
150          'channel': 'stable'
151        }
152      }),
153      '_permission_features.json': json.dumps({
154        'alarms': {
155          'channel': 'stable'
156        },
157        'bluetooth': {
158          'channel': 'dev'
159        },
160        'bookmarks': {
161          'channel': 'stable'
162        },
163        'cookies': {
164          'channel': 'dev'
165        },
166        'declarativeContent': {
167          'channel': 'trunk'
168        },
169        'declarativeWebRequest': [
170          { 'channel': 'beta' },
171          # whitelist
172          { 'channel': 'stable'}
173        ],
174        'falseBetaAPI': {
175          'channel': 'beta'
176        },
177        'systemInfo.display': {
178          'channel': 'stable'
179        },
180        'trunkAPI': {
181          'channel': 'trunk'
182        }
183      }),
184      'idle.json': '{}',
185      'input_ime.json': '{}',
186      'menus.json': '{}',
187      'tabs.json': '{}',
188      'windows.json': '{}'
189    },
190    'docs': {
191      'templates': {
192        'json': {
193          'api_availabilities.json': json.dumps({
194            'jsonAPI1': {
195              'channel': 'stable',
196              'version': 10
197            },
198            'jsonAPI2': {
199              'channel': 'trunk'
200            },
201            'jsonAPI3': {
202              'channel': 'dev'
203            }
204          }),
205          'intro_tables.json': json.dumps({
206            'test': [
207              {
208                'Permissions': 'probably none'
209              }
210            ]
211          })
212        }
213      }
214    }
215  },
216  '1500': {
217    'api': {
218      '_api_features.json': json.dumps({
219        'events': {
220          'channel': 'trunk'
221        },
222        'extension': {
223          'channel': 'stable'
224        },
225        'systemInfo.cpu': {
226          'channel': 'stable'
227        },
228        'systemInfo.stuff': {
229          'channel': 'dev'
230        }
231      }),
232      '_manifest_features.json': json.dumps({
233        'contextMenus': {
234          'channel': 'trunk'
235        },
236        'notifications': {
237          'channel': 'beta'
238        },
239        'page_action': {
240          'channel': 'stable'
241        },
242        'runtime': {
243          'channel': 'stable'
244        },
245        'storage': {
246          'channel': 'dev'
247        },
248        'sync': {
249          'channel': 'trunk'
250        },
251        'system_info_display': {
252          'channel': 'stable'
253        },
254        'web_request': {
255          'channel': 'stable'
256        }
257      }),
258      '_permission_features.json': json.dumps({
259        'alarms': {
260          'channel': 'stable'
261        },
262        'bluetooth': {
263          'channel': 'dev'
264        },
265        'bookmarks': {
266          'channel': 'stable'
267        },
268        'cookies': {
269          'channel': 'dev'
270        },
271        'declarativeContent': {
272          'channel': 'trunk'
273        },
274        'declarativeWebRequest': [
275          { 'channel': 'beta' },
276          # whitelist
277          { 'channel': 'stable'}
278        ],
279        'downloads': {
280          'channel': 'beta'
281        }
282      }),
283      'idle.json': '{}',
284      'input_ime.json': '{}',
285      'menus.json': '{}',
286      'tabs.json': '{}',
287      'windows.json': '{}'
288    }
289  },
290  '1453': {
291    'api': {
292      '_api_features.json': json.dumps({
293        'events': {
294          'channel': 'dev'
295        },
296        'extension': {
297          'channel': 'stable'
298        },
299        'systemInfo.cpu': {
300          'channel': 'stable'
301        },
302        'systemInfo.stuff': {
303          'channel': 'dev'
304        }
305      }),
306      '_manifest_features.json': json.dumps({
307        'notifications': {
308          'channel': 'dev'
309        },
310        'page_action': {
311          'channel': 'stable'
312        },
313        'runtime': {
314          'channel': 'stable'
315        },
316        'storage': {
317          'channel': 'dev'
318        },
319        'system_info_display': {
320          'channel': 'stable'
321        },
322        'web_request': {
323          'channel': 'stable'
324        }
325      }),
326      '_permission_features.json': json.dumps({
327        'alarms': {
328          'channel': 'stable'
329        },
330        'bluetooth': {
331          'channel': 'dev'
332        },
333        'bookmarks': {
334          'channel': 'stable'
335        },
336        'context_menus': {
337          'channel': 'trunk'
338        },
339        'declarativeContent': {
340          'channel': 'trunk'
341        },
342        'declarativeWebRequest': [
343          { 'channel': 'beta' },
344          # whitelist
345          { 'channel': 'stable'}
346        ],
347        'downloads': {
348          'channel': 'dev'
349        }
350      }),
351      'idle.json': '{}',
352      'input_ime.json': '{}',
353      'menus.json': '{}',
354      'tabs.json': '{}',
355      'windows.json': '{}'
356    }
357  },
358  '1410': {
359    'api': {
360      '_manifest_features.json': json.dumps({
361        'events': {
362          'channel': 'beta'
363        },
364        'notifications': {
365          'channel': 'dev'
366        },
367        'page_action': {
368          'channel': 'stable'
369        },
370        'runtime': {
371          'channel': 'stable'
372        },
373        'web_request': {
374          'channel': 'stable'
375        }
376      }),
377      '_permission_features.json': json.dumps({
378        'alarms': {
379          'channel': 'stable'
380        },
381        'bluetooth': {
382          'channel': 'dev'
383        },
384        'bookmarks': {
385          'channel': 'stable'
386        },
387        'context_menus': {
388          'channel': 'trunk'
389        },
390        'declarativeContent': {
391          'channel': 'trunk'
392        },
393        'declarativeWebRequest': [
394          { 'channel': 'beta' },
395          # whitelist
396          { 'channel': 'stable'}
397        ],
398        'systemInfo.display': {
399          'channel': 'stable'
400        }
401      }),
402      'idle.json': '{}',
403      'input_ime.json': '{}',
404      'menus.json': '{}',
405      'tabs.json': '{}',
406      'windows.json': '{}'
407    }
408  },
409  '1364': {
410    'api': {
411      '_manifest_features.json': json.dumps({
412        'page_action': {
413          'channel': 'stable'
414        },
415        'runtime': {
416          'channel': 'stable'
417        }
418      }),
419      '_permission_features.json': json.dumps({
420        'alarms': {
421          'channel': 'stable'
422        },
423        'bookmarks': {
424          'channel': 'stable'
425        },
426        'systemInfo.display': {
427          'channel': 'stable'
428        },
429        'webRequest': {
430          'channel': 'stable'
431        }
432      }),
433      'idle.json': '{}',
434      'input_ime.json': '{}',
435      'menus.json': '{}',
436      'tabs.json': '{}',
437      'windows.json': '{}'
438    }
439  },
440  '1312': {
441    'api': {
442      '_manifest_features.json': json.dumps({
443        'page_action': {
444          'channel': 'stable'
445        },
446        'runtime': {
447          'channel': 'stable'
448        },
449        'web_request': {
450          'channel': 'stable'
451        }
452      }),
453      '_permission_features.json': json.dumps({
454        'alarms': {
455          'channel': 'stable'
456        },
457        'bookmarks': {
458          'channel': 'stable'
459        },
460        'systemInfo.display': {
461          'channel': 'stable'
462        }
463      }),
464      'idle.json': '{}',
465      'input_ime.json': '{}',
466      'menus.json': '{}',
467      'tabs.json': '{}',
468      'windows.json': '{}'
469    }
470  },
471  '1271': {
472    'api': {
473      '_manifest_features.json': json.dumps({
474        'page_action': {
475          'channel': 'stable'
476        },
477        'runtime': {
478          'channel': 'stable'
479        },
480        'system_info_display': {
481          'channel': 'stable'
482        }
483      }),
484      '_permission_features.json': json.dumps({
485        'alarms': {
486          'channel': 'beta'
487        },
488        'bookmarks': {
489          'channel': 'stable'
490        },
491        'webRequest': {
492          'channel': 'stable'
493        }
494      }),
495      'alarms.idl': '{}',
496      'idle.json': '{}',
497      'input_ime.json': '{}',
498      'menus.json': '{}',
499      'tabs.json': '{}',
500      'windows.json': '{}'
501    }
502  },
503  '1229': {
504    'api': {
505      '_manifest_features.json': json.dumps({
506        'page_action': {
507          'channel': 'stable'
508        },
509        'runtime': {
510          'channel': 'stable'
511        },
512        'web_request': {
513          'channel': 'stable'
514        }
515      }),
516      '_permission_features.json': json.dumps({
517        'bookmarks': {
518          'channel': 'stable'
519        },
520        'systemInfo.display': {
521          'channel': 'beta'
522        }
523      }),
524      'alarms.idl': '{}',
525      'idle.json': '{}',
526      'input_ime.json': '{}',
527      'menus.json': '{}',
528      'system_info_display.idl': '{}',
529      'tabs.json': '{}'
530    }
531  },
532  '1180': {
533    'api': {
534      '_manifest_features.json': json.dumps({
535        'page_action': {
536          'channel': 'stable'
537        },
538        'runtime': {
539          'channel': 'stable'
540        }
541      }),
542      '_permission_features.json': json.dumps({
543        'bookmarks': {
544          'channel': 'stable'
545        },
546        'webRequest': {
547          'channel': 'stable'
548        }
549      }),
550      'bookmarks.json': '{}',
551      'idle.json': '{}',
552      'input_ime.json': '{}',
553      'menus.json': '{}',
554      'tabs.json': '{}'
555    }
556  },
557  '1132': {
558    'api': {
559      '_manifest_features.json': json.dumps({
560        'bookmarks': {
561          'channel': 'trunk'
562        },
563        'page_action': {
564          'channel': 'stable'
565        }
566      }),
567      '_permission_features.json': json.dumps({
568        'webRequest': {
569          'channel': 'stable'
570        }
571      }),
572      'bookmarks.json': '{}',
573      'idle.json': '{}',
574      'input.ime.json': '{}',
575      'menus.json': '{}',
576      'tabs.json': '{}'
577    }
578  },
579  '1084': {
580    'api': {
581      '_manifest_features.json': json.dumps({
582        'contents': 'nothing of interest here,really'
583      }),
584      'idle.json': '{}',
585      'input.ime.json': '{}',
586      'menus.json': '{}',
587      'pageAction.json': '{}',
588      'tabs.json': '{}',
589      'webRequest.json': '{}'
590    }
591  },
592  '1025': {
593    'api': {
594      'idle.json': '{}',
595      'input.ime.json': '{}',
596      'menus.json': '{}',
597      'pageAction.json': '{}',
598      'tabs.json': '{}',
599      'webRequest.json': '{}'
600    }
601  },
602  '963': {
603    'api': {
604      'extension_api.json': json.dumps([
605        {
606          'namespace': 'idle'
607        },
608        {
609          'namespace': 'menus'
610        },
611        {
612          'namespace': 'pageAction'
613        },
614        {
615          'namespace': 'webRequest'
616        }
617      ])
618    }
619  },
620  '912': {
621    'api': {
622      'extension_api.json': json.dumps([
623        {
624          'namespace': 'idle'
625        },
626        {
627          'namespace': 'menus'
628        },
629        {
630          'namespace': 'pageAction'
631        },
632        {
633          'namespace': 'experimental.webRequest'
634        }
635      ])
636    }
637  },
638  '874': {
639    'api': {
640      'extension_api.json': json.dumps([
641        {
642          'namespace': 'idle'
643        },
644        {
645          'namespace': 'menus'
646        },
647        {
648          'namespace': 'pageAction'
649        }
650      ])
651    }
652  },
653  '835': {
654    'api': {
655      'extension_api.json': json.dumps([
656        {
657          'namespace': 'idle'
658        },
659        {
660          'namespace': 'menus'
661        },
662        {
663          'namespace': 'pageAction'
664        }
665      ])
666    }
667  },
668  '782': {
669    'api': {
670      'extension_api.json': json.dumps([
671        {
672          'namespace': 'idle'
673        },
674        {
675          'namespace': 'menus'
676        },
677        {
678          'namespace': 'pageAction'
679        }
680      ])
681    }
682  },
683  '742': {
684    'api': {
685      'extension_api.json': json.dumps([
686        {
687          'namespace': 'idle'
688        },
689        {
690          'namespace': 'menus'
691        },
692        {
693          'namespace': 'pageAction'
694        }
695      ])
696    }
697  },
698  '696': {
699    'api': {
700      'extension_api.json': json.dumps([
701        {
702          'namespace': 'idle'
703        },
704        {
705          'namespace': 'menus'
706        },
707        {
708          'namespace': 'pageAction'
709        }
710      ])
711    }
712  },
713  '648': {
714    'api': {
715      'extension_api.json': json.dumps([
716        {
717          'namespace': 'idle'
718        },
719        {
720          'namespace': 'menus'
721        },
722        {
723          'namespace': 'pageAction'
724        }
725      ])
726    }
727  },
728  '597': {
729    'api': {
730      'extension_api.json': json.dumps([
731        {
732          'namespace': 'idle'
733        },
734        {
735          'namespace': 'menus'
736        },
737        {
738          'namespace': 'pageAction'
739        }
740      ])
741    }
742  },
743  '552': {
744    'api': {
745      'extension_api.json': json.dumps([
746        {
747          'namespace': 'idle'
748        },
749        {
750          'namespace': 'menus'
751        },
752        {
753          'namespace': 'pageAction'
754        }
755      ])
756    }
757  },
758  '544': {
759    'api': {
760      'extension_api.json': json.dumps([
761        {
762          'namespace': 'idle'
763        },
764        {
765          'namespace': 'menus'
766        }
767      ])
768    }
769  },
770  '495': {
771    'api': {
772      'extension_api.json': json.dumps([
773        {
774          'namespace': 'idle'
775        },
776        {
777          'namespace': 'menus'
778        }
779      ])
780    }
781  },
782  '396': {
783    'api': {
784      'extension_api.json': json.dumps([
785        {
786          'namespace': 'idle'
787        },
788        {
789          'namespace': 'experimental.menus'
790        }
791      ])
792    }
793  }
794}
795