{"action":"created","comment":{"url":"https://api.github.com/repos/mozilla/balrog/pulls/comments/36329304","id":36329304,"diff_hunk":"@@ -689,3 +701,38 @@ def testPostRevisionRollbackBadRequests(self):\n \n         ret = self._post(url)\n         self.assertEquals(ret.status_code, 400)\n+\n+    def testSettings(self):\n+        # let's poke Balrog about a new settings we got\n+        blob = {\n+            \"name\": \"settings\",\n+            \"schema_version\": 2000,\n+            \"settings\": {\n+                \"preloaded-sts-pkp\": {\n+                    \"version\": \"1\",\n+                    \"last_modified\": 1438097376\n+                }\n+            }\n+        }\n+\n+        data = {'name': 'settings', 'version': '1',\n+                'product': 'settings', 'blob': json.dumps(blob)}\n+\n+        ret = self._put('/releases/settings', data=data)\n+        self.assertEquals(ret.status_code, 201)\n+\n+        select_rel = dbo.releases.t.select()\n+        r = select_rel.where(dbo.releases.name=='settings')\n+        r = r.execute().fetchall()\n+        self.assertEquals(len(r), 1)\n+        rec = r[0]\n+        self.assertEquals(rec['name'], 'settings')\n+        self.assertEquals(rec['version'], '1')\n+        self.assertEquals(rec['product'], 'settings')\n+        self.assertDictEqual(byteify(json.loads(rec['data'])),","path":"auslib/test/admin/views/test_releases.py","position":51,"original_position":51,"commit_id":"61661ae832bb251af7ececf5f1ae28d132db18b1","original_commit_id":"61661ae832bb251af7ececf5f1ae28d132db18b1","user":{"login":"bhearsum","id":49649,"avatar_url":"https://avatars.githubusercontent.com/u/49649?v=3","gravatar_id":"","url":"https://api.github.com/users/bhearsum","html_url":"https://github.com/bhearsum","followers_url":"https://api.github.com/users/bhearsum/followers","following_url":"https://api.github.com/users/bhearsum/following{/other_user}","gists_url":"https://api.github.com/users/bhearsum/gists{/gist_id}","starred_url":"https://api.github.com/users/bhearsum/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bhearsum/subscriptions","organizations_url":"https://api.github.com/users/bhearsum/orgs","repos_url":"https://api.github.com/users/bhearsum/repos","events_url":"https://api.github.com/users/bhearsum/events{/privacy}","received_events_url":"https://api.github.com/users/bhearsum/received_events","type":"User","site_admin":false},"body":"Unfortunately, we can't use Python 2.7 specific features such as assertDictEquals, as we run on Python 2.6 in production :(.","created_at":"2015-08-05T17:31:45Z","updated_at":"2015-08-05T17:31:45Z","html_url":"https://github.com/mozilla/balrog/pull/23#discussion_r36329304","pull_request_url":"https://api.github.com/repos/mozilla/balrog/pulls/23","_links":{"self":{"href":"https://api.github.com/repos/mozilla/balrog/pulls/comments/36329304"},"html":{"href":"https://github.com/mozilla/balrog/pull/23#discussion_r36329304"},"pull_request":{"href":"https://api.github.com/repos/mozilla/balrog/pulls/23"}}},"pull_request":{"url":"https://api.github.com/repos/mozilla/balrog/pulls/23","id":41463899,"html_url":"https://github.com/mozilla/balrog/pull/23","diff_url":"https://github.com/mozilla/balrog/pull/23.diff","patch_url":"https://github.com/mozilla/balrog/pull/23.patch","issue_url":"https://api.github.com/repos/mozilla/balrog/issues/23","number":23,"state":"open","locked":false,"title":"bug 1187938: Add a new class to support Settings","user":{"login":"tarekziade","id":250019,"avatar_url":"https://avatars.githubusercontent.com/u/250019?v=3","gravatar_id":"","url":"https://api.github.com/users/tarekziade","html_url":"https://github.com/tarekziade","followers_url":"https://api.github.com/users/tarekziade/followers","following_url":"https://api.github.com/users/tarekziade/following{/other_user}","gists_url":"https://api.github.com/users/tarekziade/gists{/gist_id}","starred_url":"https://api.github.com/users/tarekziade/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tarekziade/subscriptions","organizations_url":"https://api.github.com/users/tarekziade/orgs","repos_url":"https://api.github.com/users/tarekziade/repos","events_url":"https://api.github.com/users/tarekziade/events{/privacy}","received_events_url":"https://api.github.com/users/tarekziade/received_events","type":"User","site_admin":false},"body":"","created_at":"2015-08-03T12:55:27Z","updated_at":"2015-08-05T17:31:45Z","closed_at":null,"merged_at":null,"merge_commit_sha":"7bd2ebb381393593b47526035f48c83a50cf780f","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/mozilla/balrog/pulls/23/commits","review_comments_url":"https://api.github.com/repos/mozilla/balrog/pulls/23/comments","review_comment_url":"https://api.github.com/repos/mozilla/balrog/pulls/comments{/number}","comments_url":"https://api.github.com/repos/mozilla/balrog/issues/23/comments","statuses_url":"https://api.github.com/repos/mozilla/balrog/statuses/61661ae832bb251af7ececf5f1ae28d132db18b1","head":{"label":"tarekziade:settings","ref":"settings","sha":"61661ae832bb251af7ececf5f1ae28d132db18b1","user":{"login":"tarekziade","id":250019,"avatar_url":"https://avatars.githubusercontent.com/u/250019?v=3","gravatar_id":"","url":"https://api.github.com/users/tarekziade","html_url":"https://github.com/tarekziade","followers_url":"https://api.github.com/users/tarekziade/followers","following_url":"https://api.github.com/users/tarekziade/following{/other_user}","gists_url":"https://api.github.com/users/tarekziade/gists{/gist_id}","starred_url":"https://api.github.com/users/tarekziade/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tarekziade/subscriptions","organizations_url":"https://api.github.com/users/tarekziade/orgs","repos_url":"https://api.github.com/users/tarekziade/repos","events_url":"https://api.github.com/users/tarekziade/events{/privacy}","received_events_url":"https://api.github.com/users/tarekziade/received_events","type":"User","site_admin":false},"repo":{"id":39897944,"name":"balrog","full_name":"tarekziade/balrog","owner":{"login":"tarekziade","id":250019,"avatar_url":"https://avatars.githubusercontent.com/u/250019?v=3","gravatar_id":"","url":"https://api.github.com/users/tarekziade","html_url":"https://github.com/tarekziade","followers_url":"https://api.github.com/users/tarekziade/followers","following_url":"https://api.github.com/users/tarekziade/following{/other_user}","gists_url":"https://api.github.com/users/tarekziade/gists{/gist_id}","starred_url":"https://api.github.com/users/tarekziade/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tarekziade/subscriptions","organizations_url":"https://api.github.com/users/tarekziade/orgs","repos_url":"https://api.github.com/users/tarekziade/repos","events_url":"https://api.github.com/users/tarekziade/events{/privacy}","received_events_url":"https://api.github.com/users/tarekziade/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/tarekziade/balrog","description":"Next generation update service for Mozilla products","fork":true,"url":"https://api.github.com/repos/tarekziade/balrog","forks_url":"https://api.github.com/repos/tarekziade/balrog/forks","keys_url":"https://api.github.com/repos/tarekziade/balrog/keys{/key_id}","collaborators_url":"https://api.github.com/repos/tarekziade/balrog/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/tarekziade/balrog/teams","hooks_url":"https://api.github.com/repos/tarekziade/balrog/hooks","issue_events_url":"https://api.github.com/repos/tarekziade/balrog/issues/events{/number}","events_url":"https://api.github.com/repos/tarekziade/balrog/events","assignees_url":"https://api.github.com/repos/tarekziade/balrog/assignees{/user}","branches_url":"https://api.github.com/repos/tarekziade/balrog/branches{/branch}","tags_url":"https://api.github.com/repos/tarekziade/balrog/tags","blobs_url":"https://api.github.com/repos/tarekziade/balrog/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/tarekziade/balrog/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/tarekziade/balrog/git/refs{/sha}","trees_url":"https://api.github.com/repos/tarekziade/balrog/git/trees{/sha}","statuses_url":"https://api.github.com/repos/tarekziade/balrog/statuses/{sha}","languages_url":"https://api.github.com/repos/tarekziade/balrog/languages","stargazers_url":"https://api.github.com/repos/tarekziade/balrog/stargazers","contributors_url":"https://api.github.com/repos/tarekziade/balrog/contributors","subscribers_url":"https://api.github.com/repos/tarekziade/balrog/subscribers","subscription_url":"https://api.github.com/repos/tarekziade/balrog/subscription","commits_url":"https://api.github.com/repos/tarekziade/balrog/commits{/sha}","git_commits_url":"https://api.github.com/repos/tarekziade/balrog/git/commits{/sha}","comments_url":"https://api.github.com/repos/tarekziade/balrog/comments{/number}","issue_comment_url":"https://api.github.com/repos/tarekziade/balrog/issues/comments{/number}","contents_url":"https://api.github.com/repos/tarekziade/balrog/contents/{+path}","compare_url":"https://api.github.com/repos/tarekziade/balrog/compare/{base}...{head}","merges_url":"https://api.github.com/repos/tarekziade/balrog/merges","archive_url":"https://api.github.com/repos/tarekziade/balrog/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/tarekziade/balrog/downloads","issues_url":"https://api.github.com/repos/tarekziade/balrog/issues{/number}","pulls_url":"https://api.github.com/repos/tarekziade/balrog/pulls{/number}","milestones_url":"https://api.github.com/repos/tarekziade/balrog/milestones{/number}","notifications_url":"https://api.github.com/repos/tarekziade/balrog/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/tarekziade/balrog/labels{/name}","releases_url":"https://api.github.com/repos/tarekziade/balrog/releases{/id}","created_at":"2015-07-29T14:28:09Z","updated_at":"2015-07-29T14:28:11Z","pushed_at":"2015-08-03T12:54:21Z","git_url":"git://github.com/tarekziade/balrog.git","ssh_url":"git@github.com:tarekziade/balrog.git","clone_url":"https://github.com/tarekziade/balrog.git","svn_url":"https://github.com/tarekziade/balrog","homepage":"","size":8052,"stargazers_count":0,"watchers_count":0,"language":"Python","has_issues":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"mozilla:master","ref":"master","sha":"e17b9cdc94e9e20af7da2e0d344c66cb1edbd3b7","user":{"login":"mozilla","id":131524,"avatar_url":"https://avatars.githubusercontent.com/u/131524?v=3","gravatar_id":"","url":"https://api.github.com/users/mozilla","html_url":"https://github.com/mozilla","followers_url":"https://api.github.com/users/mozilla/followers","following_url":"https://api.github.com/users/mozilla/following{/other_user}","gists_url":"https://api.github.com/users/mozilla/gists{/gist_id}","starred_url":"https://api.github.com/users/mozilla/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mozilla/subscriptions","organizations_url":"https://api.github.com/users/mozilla/orgs","repos_url":"https://api.github.com/users/mozilla/repos","events_url":"https://api.github.com/users/mozilla/events{/privacy}","received_events_url":"https://api.github.com/users/mozilla/received_events","type":"Organization","site_admin":false},"repo":{"id":2570444,"name":"balrog","full_name":"mozilla/balrog","owner":{"login":"mozilla","id":131524,"avatar_url":"https://avatars.githubusercontent.com/u/131524?v=3","gravatar_id":"","url":"https://api.github.com/users/mozilla","html_url":"https://github.com/mozilla","followers_url":"https://api.github.com/users/mozilla/followers","following_url":"https://api.github.com/users/mozilla/following{/other_user}","gists_url":"https://api.github.com/users/mozilla/gists{/gist_id}","starred_url":"https://api.github.com/users/mozilla/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mozilla/subscriptions","organizations_url":"https://api.github.com/users/mozilla/orgs","repos_url":"https://api.github.com/users/mozilla/repos","events_url":"https://api.github.com/users/mozilla/events{/privacy}","received_events_url":"https://api.github.com/users/mozilla/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/mozilla/balrog","description":"Next generation update service for Mozilla products","fork":false,"url":"https://api.github.com/repos/mozilla/balrog","forks_url":"https://api.github.com/repos/mozilla/balrog/forks","keys_url":"https://api.github.com/repos/mozilla/balrog/keys{/key_id}","collaborators_url":"https://api.github.com/repos/mozilla/balrog/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/mozilla/balrog/teams","hooks_url":"https://api.github.com/repos/mozilla/balrog/hooks","issue_events_url":"https://api.github.com/repos/mozilla/balrog/issues/events{/number}","events_url":"https://api.github.com/repos/mozilla/balrog/events","assignees_url":"https://api.github.com/repos/mozilla/balrog/assignees{/user}","branches_url":"https://api.github.com/repos/mozilla/balrog/branches{/branch}","tags_url":"https://api.github.com/repos/mozilla/balrog/tags","blobs_url":"https://api.github.com/repos/mozilla/balrog/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/mozilla/balrog/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/mozilla/balrog/git/refs{/sha}","trees_url":"https://api.github.com/repos/mozilla/balrog/git/trees{/sha}","statuses_url":"https://api.github.com/repos/mozilla/balrog/statuses/{sha}","languages_url":"https://api.github.com/repos/mozilla/balrog/languages","stargazers_url":"https://api.github.com/repos/mozilla/balrog/stargazers","contributors_url":"https://api.github.com/repos/mozilla/balrog/contributors","subscribers_url":"https://api.github.com/repos/mozilla/balrog/subscribers","subscription_url":"https://api.github.com/repos/mozilla/balrog/subscription","commits_url":"https://api.github.com/repos/mozilla/balrog/commits{/sha}","git_commits_url":"https://api.github.com/repos/mozilla/balrog/git/commits{/sha}","comments_url":"https://api.github.com/repos/mozilla/balrog/comments{/number}","issue_comment_url":"https://api.github.com/repos/mozilla/balrog/issues/comments{/number}","contents_url":"https://api.github.com/repos/mozilla/balrog/contents/{+path}","compare_url":"https://api.github.com/repos/mozilla/balrog/compare/{base}...{head}","merges_url":"https://api.github.com/repos/mozilla/balrog/merges","archive_url":"https://api.github.com/repos/mozilla/balrog/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/mozilla/balrog/downloads","issues_url":"https://api.github.com/repos/mozilla/balrog/issues{/number}","pulls_url":"https://api.github.com/repos/mozilla/balrog/pulls{/number}","milestones_url":"https://api.github.com/repos/mozilla/balrog/milestones{/number}","notifications_url":"https://api.github.com/repos/mozilla/balrog/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/mozilla/balrog/labels{/name}","releases_url":"https://api.github.com/repos/mozilla/balrog/releases{/id}","created_at":"2011-10-13T15:51:47Z","updated_at":"2015-05-07T14:03:03Z","pushed_at":"2015-08-03T12:55:27Z","git_url":"git://github.com/mozilla/balrog.git","ssh_url":"git@github.com:mozilla/balrog.git","clone_url":"https://github.com/mozilla/balrog.git","svn_url":"https://github.com/mozilla/balrog","homepage":"","size":8766,"stargazers_count":12,"watchers_count":12,"language":"Python","has_issues":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":16,"mirror_url":null,"open_issues_count":1,"forks":16,"open_issues":1,"watchers":12,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/mozilla/balrog/pulls/23"},"html":{"href":"https://github.com/mozilla/balrog/pull/23"},"issue":{"href":"https://api.github.com/repos/mozilla/balrog/issues/23"},"comments":{"href":"https://api.github.com/repos/mozilla/balrog/issues/23/comments"},"review_comments":{"href":"https://api.github.com/repos/mozilla/balrog/pulls/23/comments"},"review_comment":{"href":"https://api.github.com/repos/mozilla/balrog/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/mozilla/balrog/pulls/23/commits"},"statuses":{"href":"https://api.github.com/repos/mozilla/balrog/statuses/61661ae832bb251af7ececf5f1ae28d132db18b1"}}}}