Skip to content

Commit 1272cc6

Browse files
authored
Merge pull request #135 from DenverM80/update_3_0
Fix encapsulating element label for parsing DetailedS3ObjectList and …
2 parents 8d26279 + ae5b4fe commit 1272cc6

File tree

3 files changed

+28
-2
lines changed

3 files changed

+28
-2
lines changed

src/ds3.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12508,7 +12508,7 @@ static ds3_error* _parse_top_level_ds3_named_detailed_tape_partition_list_respon
1250812508
response = g_new0(ds3_named_detailed_tape_partition_list_response, 1);
1250912509

1251012510
for (child_node = root->xmlChildrenNode; child_node != NULL; child_node = child_node->next) {
12511-
if (element_equal(child_node, "NamedDetailedTapePartition")) {
12511+
if (element_equal(child_node, "TapePartition")) {
1251212512
ds3_named_detailed_tape_partition_response* named_detailed_tape_partitions_response = NULL;
1251312513
error = _parse_ds3_named_detailed_tape_partition_response(client, doc, child_node, &named_detailed_tape_partitions_response);
1251412514
response->named_detailed_tape_partitions = (ds3_named_detailed_tape_partition_response**)named_detailed_tape_partitions_array->pdata;
@@ -13199,7 +13199,7 @@ static ds3_error* _parse_top_level_ds3_detailed_s3_object_list_response(const ds
1319913199
response = g_new0(ds3_detailed_s3_object_list_response, 1);
1320013200

1320113201
for (child_node = root->xmlChildrenNode; child_node != NULL; child_node = child_node->next) {
13202-
if (element_equal(child_node, "DetailedS3Object")) {
13202+
if (element_equal(child_node, "Object")) {
1320313203
ds3_detailed_s3_object_response* detailed_s3_objects_response = NULL;
1320413204
error = _parse_ds3_detailed_s3_object_response(client, doc, child_node, &detailed_s3_objects_response);
1320513205
response->detailed_s3_objects = (ds3_detailed_s3_object_response**)detailed_s3_objects_array->pdata;

src/ds3.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1893,6 +1893,7 @@ LIBRARY_API void ds3_request_set_sha256(ds3_request* request, const char* sha256
18931893
LIBRARY_API void ds3_request_set_sha512(ds3_request* request, const char* sha512);
18941894
LIBRARY_API void ds3_request_set_crc32(ds3_request* request, const char* crc32);
18951895
LIBRARY_API void ds3_request_set_crc32c(ds3_request* request, const char* crc32c);
1896+
// Any attempt to set a key with an empty or NULL value will be ignored.
18961897
LIBRARY_API void ds3_request_set_metadata(ds3_request* request, const char* name, const char* value);
18971898

18981899
LIBRARY_API void ds3_creds_free(ds3_creds* client);

test/search_tests.cpp

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,31 @@ BOOST_AUTO_TEST_CASE( get_all_objects ) {
2727
free_client(client);
2828
}
2929

30+
BOOST_AUTO_TEST_CASE( get_objects_with_full_details ) {
31+
printf("-----Testing get_objects_with_full_details-------\n");
32+
33+
uint64_t num_objs;
34+
ds3_client* client = get_client();
35+
ds3_detailed_s3_object_list_response* response;
36+
const char* bucket_name = "get_objects_with_full_details";
37+
populate_with_objects(client, bucket_name);
38+
39+
ds3_request* request = ds3_init_get_objects_with_full_details_spectra_s3_request();
40+
ds3_request_set_bucket_id(request, bucket_name);
41+
ds3_request_set_name(request, "%txt%");
42+
ds3_error* error = ds3_get_objects_with_full_details_spectra_s3_request(client, request, &response);
43+
44+
handle_error(error);
45+
num_objs = response->num_detailed_s3_objects;
46+
BOOST_CHECK_EQUAL(num_objs, 5);
47+
48+
ds3_request_free(request);
49+
ds3_detailed_s3_object_list_response_free(response);
50+
51+
clear_bucket(client, bucket_name);
52+
free_client(client);
53+
}
54+
3055
BOOST_AUTO_TEST_CASE( get_no_objects ) {
3156
uint64_t num_objs;
3257
ds3_client* client = get_client();

0 commit comments

Comments
 (0)