{"action":"created","comment":{"url":"https://api.github.com/repos/SpectraLogic/ds3_c_sdk/pulls/comments/27911833","id":27911833,"diff_hunk":"@@ -0,0 +1,259 @@\n+/*\n+ * The Following Program Consists of a bunch of Negative Tests\n+ * 1. Dupilcate Bucket Put Test\n+ * 2. Deleting Non Existent Bucket\n+ * 3. Deleting Non Exiting  Object\n+ * 4. Creation of Bucket with Invalid Name\n+ * 5. Duplicate Object Creation\n+ * 6. Bulk Put With Empty Object List\n+*/\n+#include <stdbool.h>\n+#include <stdio.h>\n+#include \"ds3.h\"\n+#include \"test.h\"\n+#include <boost/test/unit_test.hpp>\n+\n+\n+\n+\n+//Testing a Duplicate Bucket Put\n+\n+BOOST_AUTO_TEST_CASE( put_duplicate_bucket) {\n+\tprintf(\"-----Testing Duplicate Bucket Creation-------\\n\");\n+    ds3_client* client = get_client();\n+    uint64_t i;\n+    bool found = false;\n+    const char* bucket_name = \"duplicatename_test_bucket\";\n+    ds3_request* request = ds3_init_put_bucket(bucket_name);\n+    ds3_get_service_response* response;\n+\n+    ds3_error* error = ds3_put_bucket(client, request);\n+\n+    BOOST_CHECK(error == NULL);\n+\n+    ds3_free_request(request);\n+    ds3_free_error(error);\n+    request = ds3_init_get_service();\n+\n+    error = ds3_get_service(client, request, &response);\n+\n+    BOOST_CHECK(error == NULL);\n+\n+    for (i = 0; i < response->num_buckets; i++) {\n+        //fprintf(stderr, \"Expected Name (%s) actual (%s)\\n\", bucket_name, response->buckets[i].name->value);\n+        if (strcmp(bucket_name, response->buckets[i].name->value) == 0) {\n+            found = true;\n+            break;\n+        }\n+    }\n+\n+    ds3_free_request(request);\n+    ds3_free_error(error);\n+    ds3_free_service_response(response);\n+\n+    BOOST_CHECK(found);\n+    \n+    //Putting Duplicate Bucket\n+    request = ds3_init_put_bucket(bucket_name);\n+    error = ds3_put_bucket(client, request);\n+    if (error != NULL) {\n+\t\tprintf(\"ds3_error status code: %lu\\n\", error->error->status_code);\n+\t\tprintf(\"ds3_error: %s\\n\", error->error->status_message->value);\n+\t\tBOOST_CHECK(error->error->status_code == 409);\n+        BOOST_CHECK(strcmp(error->error->status_message->value ,\"Conflict\")==0);\n+        ds3_free_error(error);\n+\t\tds3_free_request(request);\n+    }\n+\t\n+\t//Deleting Created Bucket\n+    request = ds3_init_delete_bucket(bucket_name);\n+    error = ds3_delete_bucket(client, request);\n+    ds3_free_request(request);\n+\n+    free_client(client);\n+    BOOST_CHECK(error == NULL);\n+    ds3_free_error(error);\n+    \n+}\n+\n+\n+//testing Deletion of non existing bucket\n+BOOST_AUTO_TEST_CASE( delete_non_existing_bucket)\n+{\t\n+\tprintf(\"-----Testing Non Existing Bucket Deletion-------\\n\");\n+\tds3_client* client = get_client();\n+\tds3_request* request ;\n+\tds3_error* error ;\n+    const char* bucket_name = \"delete_non_existing_bucket\";\n+\trequest = ds3_init_delete_bucket(bucket_name);\n+    error = ds3_delete_bucket(client, request);\n+\tif (error != NULL) {\n+\t\tprintf(\"ds3_error status code: %lu\\n\", error->error->status_code);\n+\t\tprintf(\"ds3_error: %s\\n\", error->error->status_message->value);\n+\t\tBOOST_CHECK(error->error->status_code == 404);\n+        BOOST_CHECK(strcmp(error->error->status_message->value ,\"Not Found\")==0);\n+        ds3_free_error(error);\n+\t\tds3_free_request(request);\n+    }\n+    free_client(client);\n+}\n+\n+\n+//testing Deletion of non existing object\n+BOOST_AUTO_TEST_CASE( delete_non_existing_object)\n+{\n+\tprintf(\"-----Testing Non Existing Object Deletion-------\\n\");\n+\t//First Creating a Bucket\n+\tds3_client* client = get_client();\n+    uint64_t i;\n+    bool found = false;\n+    const char* bucket_name = \"test_bucket\";\n+    ds3_request* request = ds3_init_put_bucket(bucket_name);\n+    ds3_get_service_response* response;\n+\n+    ds3_error* error = ds3_put_bucket(client, request);\n+\n+    BOOST_CHECK(error == NULL);\n+\n+    ds3_free_request(request);\n+    ds3_free_error(error);\n+    request = ds3_init_get_service();\n+\n+    error = ds3_get_service(client, request, &response);\n+\n+    BOOST_CHECK(error == NULL);\n+\n+    for (i = 0; i < response->num_buckets; i++) {\n+        //fprintf(stderr, \"Expected Name (%s) actual (%s)\\n\", bucket_name, response->buckets[i].name->value);\n+        if (strcmp(bucket_name, response->buckets[i].name->value) == 0) {\n+            found = true;\n+            break;\n+        }\n+    }\n+\n+    ds3_free_request(request);\n+    ds3_free_error(error);\n+    ds3_free_service_response(response);\n+    \n+    BOOST_CHECK(found);\n+    \n+    //Deleting Non Existing Object\n+    request = ds3_init_delete_object(bucket_name,\"delete_non_existing_object\");\n+    error = ds3_delete_object(client, request);\n+    ds3_free_request(request);\n+    \n+    if (error != NULL) {\n+\t\tprintf(\"ds3_error status code: %lu\\n\", error->error->status_code);\n+\t\tprintf(\"ds3_error: %s\\n\", error->error->status_message->value);\n+\t\tBOOST_CHECK(error->error->status_code == 404);\n+        BOOST_CHECK(strcmp(error->error->status_message->value ,\"Not Found\")==0);\n+        ds3_free_error(error);\n+    }\n+  \n+    //Deleting Created Bucket\n+    request = ds3_init_delete_bucket(bucket_name);\n+    error = ds3_delete_bucket(client, request);\n+    ds3_free_request(request);\n+\n+    free_client(client);\n+    BOOST_CHECK(error == NULL);\n+    ds3_free_error(error);\n+    \n+}\n+\n+//testing Bad Bucket Name Creation\n+BOOST_AUTO_TEST_CASE( bad_bucket_name)\n+{\n+\tprintf(\"-----Testing Bad Bucket Name creation-------\\n\");\n+\tds3_client* client = get_client();\n+\tconst char* bucket_name = \"bad:bucket\";\n+\tds3_request* request = ds3_init_put_bucket(bucket_name);\n+\tds3_error* error = ds3_put_bucket(client, request);\n+    if (error != NULL) {\n+\t\tprintf(\"ds3_error status code: %lu\\n\", error->error->status_code);\n+\t\tprintf(\"ds3_error: %s\\n\", error->error->status_message->value);\n+\t\t//printf(\"ds3_error_body: %s\\n\", error->error->error_body->value);\n+\t\tBOOST_CHECK(error->error->status_code == 400);\n+        BOOST_CHECK(strcmp(error->error->status_message->value ,\"Bad Request\")==0);\n+        ds3_free_error(error);\n+\t\tds3_free_request(request);\n+    }\n+    free_client(client);\n+}\n+\n+//testing creation of duplicate object\n+BOOST_AUTO_TEST_CASE( put_duplicate_object)\n+{\n+\tprintf(\"-----Testing Duplicate Object Creation-------\\n\");\n+\tds3_client* client = get_client();\n+\tconst char* bucket_name = \"test_bucket_duplicate_object\";\n+\t//Adding Duplicate Object to the Bucket List\n+\tconst char* books[] ={\"resources/beowulf.txt\",\"resources/sherlock_holmes.txt\",\"resources/beowulf.txt\"};\n+    ds3_bulk_object_list* obj_list;\n+    ds3_bulk_response* response;\n+    ds3_request* request = ds3_init_put_bucket(bucket_name);\n+    ds3_error* error = ds3_put_bucket(client, request);\n+\n+\tds3_free_request(request);\n+\t\n+\tBOOST_CHECK(error == NULL);\n+\tds3_free_error(error);\n+\t\n+\tobj_list = ds3_convert_file_list(books, 3);\n+    request = ds3_init_put_bulk(bucket_name, obj_list);\n+    error = ds3_bulk(client, request, &response);\n+\n+    \n+    if (error != NULL) {\n+\t\t\tprintf(\"ds3_error status code: %lu\\n\", error->error->status_code);\n+\t\t\tprintf(\"ds3_error: %s\\n\", error->error->status_message->value);\n+\t\t\t//printf(\"ds3_error_body: %s\\n\", error->error->error_body->value);\n+\t\t\tBOOST_CHECK(error->error->status_code == 409);\n+\t\t\tBOOST_CHECK(strcmp(error->error->status_message->value ,\"Conflict\")==0);\n+\t\t\tds3_free_error(error);\n+\t\t\tds3_free_request(request);\n+\t}\n+    \n+    ds3_free_bulk_object_list(obj_list);\n+    clear_bucket(client, bucket_name);\n+    free_client(client);\n+    \n+}\n+\n+//testing Bulk Put with empty object list\n+BOOST_AUTO_TEST_CASE( Put_empty_object_list)\n+{\n+\tprintf(\"-----Testing Put Empty Object List-------\\n\");\n+\tds3_client* client = get_client();\n+\tds3_bulk_object_list* obj_list = NULL;\n+\tobj_list = ds3_init_bulk_object_list(0);\n+\tds3_bulk_response* response;\n+\tconst char* bucket_name = \"Bucket_with_empty_list\";\n+\tds3_request* request = ds3_init_put_bucket(bucket_name);\n+\tds3_error* error = ds3_put_bucket(client, request);\n+    BOOST_CHECK(error == NULL);\n+\t\n+\tds3_free_request(request);","path":"test/negative_tests.cpp","position":236,"original_position":236,"commit_id":"b83f2eb10a268a7ec7db2ca5b1c4013fa902359c","original_commit_id":"b83f2eb10a268a7ec7db2ca5b1c4013fa902359c","user":{"login":"rpmoore","id":1901294,"avatar_url":"https://avatars.githubusercontent.com/u/1901294?v=3","gravatar_id":"","url":"https://api.github.com/users/rpmoore","html_url":"https://github.com/rpmoore","followers_url":"https://api.github.com/users/rpmoore/followers","following_url":"https://api.github.com/users/rpmoore/following{/other_user}","gists_url":"https://api.github.com/users/rpmoore/gists{/gist_id}","starred_url":"https://api.github.com/users/rpmoore/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rpmoore/subscriptions","organizations_url":"https://api.github.com/users/rpmoore/orgs","repos_url":"https://api.github.com/users/rpmoore/repos","events_url":"https://api.github.com/users/rpmoore/events{/privacy}","received_events_url":"https://api.github.com/users/rpmoore/received_events","type":"User","site_admin":false},"body":"Move this to line 234","created_at":"2015-04-07T19:35:22Z","updated_at":"2015-04-07T19:35:22Z","html_url":"https://github.com/SpectraLogic/ds3_c_sdk/pull/37#discussion_r27911833","pull_request_url":"https://api.github.com/repos/SpectraLogic/ds3_c_sdk/pulls/37","_links":{"self":{"href":"https://api.github.com/repos/SpectraLogic/ds3_c_sdk/pulls/comments/27911833"},"html":{"href":"https://github.com/SpectraLogic/ds3_c_sdk/pull/37#discussion_r27911833"},"pull_request":{"href":"https://api.github.com/repos/SpectraLogic/ds3_c_sdk/pulls/37"}}},"pull_request":{"url":"https://api.github.com/repos/SpectraLogic/ds3_c_sdk/pulls/37","id":32790793,"html_url":"https://github.com/SpectraLogic/ds3_c_sdk/pull/37","diff_url":"https://github.com/SpectraLogic/ds3_c_sdk/pull/37.diff","patch_url":"https://github.com/SpectraLogic/ds3_c_sdk/pull/37.patch","issue_url":"https://api.github.com/repos/SpectraLogic/ds3_c_sdk/issues/37","number":37,"state":"open","locked":false,"title":"Added New Negative Tests","user":{"login":"aiyengar","id":8955851,"avatar_url":"https://avatars.githubusercontent.com/u/8955851?v=3","gravatar_id":"","url":"https://api.github.com/users/aiyengar","html_url":"https://github.com/aiyengar","followers_url":"https://api.github.com/users/aiyengar/followers","following_url":"https://api.github.com/users/aiyengar/following{/other_user}","gists_url":"https://api.github.com/users/aiyengar/gists{/gist_id}","starred_url":"https://api.github.com/users/aiyengar/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/aiyengar/subscriptions","organizations_url":"https://api.github.com/users/aiyengar/orgs","repos_url":"https://api.github.com/users/aiyengar/repos","events_url":"https://api.github.com/users/aiyengar/events{/privacy}","received_events_url":"https://api.github.com/users/aiyengar/received_events","type":"User","site_admin":false},"body":"...,Added negative tests:\r\n1.Duplicate Put Bucket,\r\n2.Delete Non Existing Bucket\r\n3.Delete Non Existing Object\r\n4.Creation of Bucket with Invalid name\r\n5.Duplicate Object Creation\r\n6.Bulk Put With Empty Object List","created_at":"2015-04-07T18:19:43Z","updated_at":"2015-04-07T19:35:22Z","closed_at":null,"merged_at":null,"merge_commit_sha":"0d71eab0072af8a54deb6333260f8a349c21a89b","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/SpectraLogic/ds3_c_sdk/pulls/37/commits","review_comments_url":"https://api.github.com/repos/SpectraLogic/ds3_c_sdk/pulls/37/comments","review_comment_url":"https://api.github.com/repos/SpectraLogic/ds3_c_sdk/pulls/comments{/number}","comments_url":"https://api.github.com/repos/SpectraLogic/ds3_c_sdk/issues/37/comments","statuses_url":"https://api.github.com/repos/SpectraLogic/ds3_c_sdk/statuses/b83f2eb10a268a7ec7db2ca5b1c4013fa902359c","head":{"label":"aiyengar:master","ref":"master","sha":"b83f2eb10a268a7ec7db2ca5b1c4013fa902359c","user":{"login":"aiyengar","id":8955851,"avatar_url":"https://avatars.githubusercontent.com/u/8955851?v=3","gravatar_id":"","url":"https://api.github.com/users/aiyengar","html_url":"https://github.com/aiyengar","followers_url":"https://api.github.com/users/aiyengar/followers","following_url":"https://api.github.com/users/aiyengar/following{/other_user}","gists_url":"https://api.github.com/users/aiyengar/gists{/gist_id}","starred_url":"https://api.github.com/users/aiyengar/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/aiyengar/subscriptions","organizations_url":"https://api.github.com/users/aiyengar/orgs","repos_url":"https://api.github.com/users/aiyengar/repos","events_url":"https://api.github.com/users/aiyengar/events{/privacy}","received_events_url":"https://api.github.com/users/aiyengar/received_events","type":"User","site_admin":false},"repo":{"id":32833278,"name":"ds3_c_sdk","full_name":"aiyengar/ds3_c_sdk","owner":{"login":"aiyengar","id":8955851,"avatar_url":"https://avatars.githubusercontent.com/u/8955851?v=3","gravatar_id":"","url":"https://api.github.com/users/aiyengar","html_url":"https://github.com/aiyengar","followers_url":"https://api.github.com/users/aiyengar/followers","following_url":"https://api.github.com/users/aiyengar/following{/other_user}","gists_url":"https://api.github.com/users/aiyengar/gists{/gist_id}","starred_url":"https://api.github.com/users/aiyengar/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/aiyengar/subscriptions","organizations_url":"https://api.github.com/users/aiyengar/orgs","repos_url":"https://api.github.com/users/aiyengar/repos","events_url":"https://api.github.com/users/aiyengar/events{/privacy}","received_events_url":"https://api.github.com/users/aiyengar/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/aiyengar/ds3_c_sdk","description":"","fork":true,"url":"https://api.github.com/repos/aiyengar/ds3_c_sdk","forks_url":"https://api.github.com/repos/aiyengar/ds3_c_sdk/forks","keys_url":"https://api.github.com/repos/aiyengar/ds3_c_sdk/keys{/key_id}","collaborators_url":"https://api.github.com/repos/aiyengar/ds3_c_sdk/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/aiyengar/ds3_c_sdk/teams","hooks_url":"https://api.github.com/repos/aiyengar/ds3_c_sdk/hooks","issue_events_url":"https://api.github.com/repos/aiyengar/ds3_c_sdk/issues/events{/number}","events_url":"https://api.github.com/repos/aiyengar/ds3_c_sdk/events","assignees_url":"https://api.github.com/repos/aiyengar/ds3_c_sdk/assignees{/user}","branches_url":"https://api.github.com/repos/aiyengar/ds3_c_sdk/branches{/branch}","tags_url":"https://api.github.com/repos/aiyengar/ds3_c_sdk/tags","blobs_url":"https://api.github.com/repos/aiyengar/ds3_c_sdk/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/aiyengar/ds3_c_sdk/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/aiyengar/ds3_c_sdk/git/refs{/sha}","trees_url":"https://api.github.com/repos/aiyengar/ds3_c_sdk/git/trees{/sha}","statuses_url":"https://api.github.com/repos/aiyengar/ds3_c_sdk/statuses/{sha}","languages_url":"https://api.github.com/repos/aiyengar/ds3_c_sdk/languages","stargazers_url":"https://api.github.com/repos/aiyengar/ds3_c_sdk/stargazers","contributors_url":"https://api.github.com/repos/aiyengar/ds3_c_sdk/contributors","subscribers_url":"https://api.github.com/repos/aiyengar/ds3_c_sdk/subscribers","subscription_url":"https://api.github.com/repos/aiyengar/ds3_c_sdk/subscription","commits_url":"https://api.github.com/repos/aiyengar/ds3_c_sdk/commits{/sha}","git_commits_url":"https://api.github.com/repos/aiyengar/ds3_c_sdk/git/commits{/sha}","comments_url":"https://api.github.com/repos/aiyengar/ds3_c_sdk/comments{/number}","issue_comment_url":"https://api.github.com/repos/aiyengar/ds3_c_sdk/issues/comments{/number}","contents_url":"https://api.github.com/repos/aiyengar/ds3_c_sdk/contents/{+path}","compare_url":"https://api.github.com/repos/aiyengar/ds3_c_sdk/compare/{base}...{head}","merges_url":"https://api.github.com/repos/aiyengar/ds3_c_sdk/merges","archive_url":"https://api.github.com/repos/aiyengar/ds3_c_sdk/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/aiyengar/ds3_c_sdk/downloads","issues_url":"https://api.github.com/repos/aiyengar/ds3_c_sdk/issues{/number}","pulls_url":"https://api.github.com/repos/aiyengar/ds3_c_sdk/pulls{/number}","milestones_url":"https://api.github.com/repos/aiyengar/ds3_c_sdk/milestones{/number}","notifications_url":"https://api.github.com/repos/aiyengar/ds3_c_sdk/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/aiyengar/ds3_c_sdk/labels{/name}","releases_url":"https://api.github.com/repos/aiyengar/ds3_c_sdk/releases{/id}","created_at":"2015-03-25T00:31:12Z","updated_at":"2015-04-07T18:17:34Z","pushed_at":"2015-04-07T18:17:32Z","git_url":"git://github.com/aiyengar/ds3_c_sdk.git","ssh_url":"git@github.com:aiyengar/ds3_c_sdk.git","clone_url":"https://github.com/aiyengar/ds3_c_sdk.git","svn_url":"https://github.com/aiyengar/ds3_c_sdk","homepage":null,"size":12688,"stargazers_count":0,"watchers_count":0,"language":"C","has_issues":false,"has_downloads":true,"has_wiki":true,"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":"SpectraLogic:master","ref":"master","sha":"960b380e2ac9c12376bbe385c827649d834b5bff","user":{"login":"SpectraLogic","id":7060807,"avatar_url":"https://avatars.githubusercontent.com/u/7060807?v=3","gravatar_id":"","url":"https://api.github.com/users/SpectraLogic","html_url":"https://github.com/SpectraLogic","followers_url":"https://api.github.com/users/SpectraLogic/followers","following_url":"https://api.github.com/users/SpectraLogic/following{/other_user}","gists_url":"https://api.github.com/users/SpectraLogic/gists{/gist_id}","starred_url":"https://api.github.com/users/SpectraLogic/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/SpectraLogic/subscriptions","organizations_url":"https://api.github.com/users/SpectraLogic/orgs","repos_url":"https://api.github.com/users/SpectraLogic/repos","events_url":"https://api.github.com/users/SpectraLogic/events{/privacy}","received_events_url":"https://api.github.com/users/SpectraLogic/received_events","type":"Organization","site_admin":false},"repo":{"id":18419918,"name":"ds3_c_sdk","full_name":"SpectraLogic/ds3_c_sdk","owner":{"login":"SpectraLogic","id":7060807,"avatar_url":"https://avatars.githubusercontent.com/u/7060807?v=3","gravatar_id":"","url":"https://api.github.com/users/SpectraLogic","html_url":"https://github.com/SpectraLogic","followers_url":"https://api.github.com/users/SpectraLogic/followers","following_url":"https://api.github.com/users/SpectraLogic/following{/other_user}","gists_url":"https://api.github.com/users/SpectraLogic/gists{/gist_id}","starred_url":"https://api.github.com/users/SpectraLogic/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/SpectraLogic/subscriptions","organizations_url":"https://api.github.com/users/SpectraLogic/orgs","repos_url":"https://api.github.com/users/SpectraLogic/repos","events_url":"https://api.github.com/users/SpectraLogic/events{/privacy}","received_events_url":"https://api.github.com/users/SpectraLogic/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/SpectraLogic/ds3_c_sdk","description":"","fork":false,"url":"https://api.github.com/repos/SpectraLogic/ds3_c_sdk","forks_url":"https://api.github.com/repos/SpectraLogic/ds3_c_sdk/forks","keys_url":"https://api.github.com/repos/SpectraLogic/ds3_c_sdk/keys{/key_id}","collaborators_url":"https://api.github.com/repos/SpectraLogic/ds3_c_sdk/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/SpectraLogic/ds3_c_sdk/teams","hooks_url":"https://api.github.com/repos/SpectraLogic/ds3_c_sdk/hooks","issue_events_url":"https://api.github.com/repos/SpectraLogic/ds3_c_sdk/issues/events{/number}","events_url":"https://api.github.com/repos/SpectraLogic/ds3_c_sdk/events","assignees_url":"https://api.github.com/repos/SpectraLogic/ds3_c_sdk/assignees{/user}","branches_url":"https://api.github.com/repos/SpectraLogic/ds3_c_sdk/branches{/branch}","tags_url":"https://api.github.com/repos/SpectraLogic/ds3_c_sdk/tags","blobs_url":"https://api.github.com/repos/SpectraLogic/ds3_c_sdk/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/SpectraLogic/ds3_c_sdk/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/SpectraLogic/ds3_c_sdk/git/refs{/sha}","trees_url":"https://api.github.com/repos/SpectraLogic/ds3_c_sdk/git/trees{/sha}","statuses_url":"https://api.github.com/repos/SpectraLogic/ds3_c_sdk/statuses/{sha}","languages_url":"https://api.github.com/repos/SpectraLogic/ds3_c_sdk/languages","stargazers_url":"https://api.github.com/repos/SpectraLogic/ds3_c_sdk/stargazers","contributors_url":"https://api.github.com/repos/SpectraLogic/ds3_c_sdk/contributors","subscribers_url":"https://api.github.com/repos/SpectraLogic/ds3_c_sdk/subscribers","subscription_url":"https://api.github.com/repos/SpectraLogic/ds3_c_sdk/subscription","commits_url":"https://api.github.com/repos/SpectraLogic/ds3_c_sdk/commits{/sha}","git_commits_url":"https://api.github.com/repos/SpectraLogic/ds3_c_sdk/git/commits{/sha}","comments_url":"https://api.github.com/repos/SpectraLogic/ds3_c_sdk/comments{/number}","issue_comment_url":"https://api.github.com/repos/SpectraLogic/ds3_c_sdk/issues/comments{/number}","contents_url":"https://api.github.com/repos/SpectraLogic/ds3_c_sdk/contents/{+path}","compare_url":"https://api.github.com/repos/SpectraLogic/ds3_c_sdk/compare/{base}...{head}","merges_url":"https://api.github.com/repos/SpectraLogic/ds3_c_sdk/merges","archive_url":"https://api.github.com/repos/SpectraLogic/ds3_c_sdk/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/SpectraLogic/ds3_c_sdk/downloads","issues_url":"https://api.github.com/repos/SpectraLogic/ds3_c_sdk/issues{/number}","pulls_url":"https://api.github.com/repos/SpectraLogic/ds3_c_sdk/pulls{/number}","milestones_url":"https://api.github.com/repos/SpectraLogic/ds3_c_sdk/milestones{/number}","notifications_url":"https://api.github.com/repos/SpectraLogic/ds3_c_sdk/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/SpectraLogic/ds3_c_sdk/labels{/name}","releases_url":"https://api.github.com/repos/SpectraLogic/ds3_c_sdk/releases{/id}","created_at":"2014-04-03T22:16:04Z","updated_at":"2015-03-26T09:56:13Z","pushed_at":"2015-04-07T18:19:43Z","git_url":"git://github.com/SpectraLogic/ds3_c_sdk.git","ssh_url":"git@github.com:SpectraLogic/ds3_c_sdk.git","clone_url":"https://github.com/SpectraLogic/ds3_c_sdk.git","svn_url":"https://github.com/SpectraLogic/ds3_c_sdk","homepage":null,"size":12688,"stargazers_count":1,"watchers_count":1,"language":"C","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":3,"mirror_url":null,"open_issues_count":2,"forks":3,"open_issues":2,"watchers":1,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/SpectraLogic/ds3_c_sdk/pulls/37"},"html":{"href":"https://github.com/SpectraLogic/ds3_c_sdk/pull/37"},"issue":{"href":"https://api.github.com/repos/SpectraLogic/ds3_c_sdk/issues/37"},"comments":{"href":"https://api.github.com/repos/SpectraLogic/ds3_c_sdk/issues/37/comments"},"review_comments":{"href":"https://api.github.com/repos/SpectraLogic/ds3_c_sdk/pulls/37/comments"},"review_comment":{"href":"https://api.github.com/repos/SpectraLogic/ds3_c_sdk/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/SpectraLogic/ds3_c_sdk/pulls/37/commits"},"statuses":{"href":"https://api.github.com/repos/SpectraLogic/ds3_c_sdk/statuses/b83f2eb10a268a7ec7db2ca5b1c4013fa902359c"}}}}