Skip to content

Commit 2b06885

Browse files
authored
Merge pull request #235 from SpectraLogic/EMPROD-6248
C SDK: Enabling aggregating on a job sets value to null instead of true
2 parents b0a32ae + 8789cfe commit 2b06885

File tree

3 files changed

+63
-36
lines changed

3 files changed

+63
-36
lines changed

CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,6 @@ set(CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/modules/")
55

66
set (DS3SDK_VERSION_MAJOR 5)
77
set (DS3SDK_VERSION_MINOR 4)
8-
set (DS3SDK_VERSION_PATCH 0)
8+
set (DS3SDK_VERSION_PATCH 1)
99

1010
add_subdirectory(src)

src/ds3_init_requests.c

Lines changed: 43 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -868,6 +868,14 @@ static void _set_query_param_flag(const ds3_request* _request, const char* key,
868868
}
869869
}
870870

871+
static void _set_query_param_ds3_bool(const ds3_request* _request, const char* key, ds3_bool value) {
872+
if (value == True) {
873+
_set_query_param(_request, key, "True");
874+
} else {
875+
_set_query_param(_request, key, "False");
876+
}
877+
}
878+
871879
static void _set_query_param_uint64_t(const ds3_request* _request, const char* key, uint64_t value) {
872880
char string_buffer[STRING_BUFFER_SIZE];
873881
memset(string_buffer, 0, sizeof(string_buffer));
@@ -906,7 +914,7 @@ void ds3_request_set_account_name(const ds3_request* request, const char * const
906914

907915
}
908916
void ds3_request_set_activated(const ds3_request* request, ds3_bool value) {
909-
_set_query_param_flag(request, "activated", value);
917+
_set_query_param_ds3_bool(request, "activated", value);
910918

911919
}
912920
void ds3_request_set_admin_auth_id(const ds3_request* request, const char * const value) {
@@ -918,23 +926,23 @@ void ds3_request_set_admin_secret_key(const ds3_request* request, const char * c
918926

919927
}
920928
void ds3_request_set_aggregating(const ds3_request* request, ds3_bool value) {
921-
_set_query_param_flag(request, "aggregating", value);
929+
_set_query_param_ds3_bool(request, "aggregating", value);
922930

923931
}
924932
void ds3_request_set_allow_new_job_requests(const ds3_request* request, ds3_bool value) {
925-
_set_query_param_flag(request, "allow_new_job_requests", value);
933+
_set_query_param_ds3_bool(request, "allow_new_job_requests", value);
926934

927935
}
928936
void ds3_request_set_always_force_put_job_creation(const ds3_request* request, ds3_bool value) {
929-
_set_query_param_flag(request, "always_force_put_job_creation", value);
937+
_set_query_param_ds3_bool(request, "always_force_put_job_creation", value);
930938

931939
}
932940
void ds3_request_set_always_minimize_spanning_across_media(const ds3_request* request, ds3_bool value) {
933-
_set_query_param_flag(request, "always_minimize_spanning_across_media", value);
941+
_set_query_param_ds3_bool(request, "always_minimize_spanning_across_media", value);
934942

935943
}
936944
void ds3_request_set_assigned_to_storage_domain(const ds3_request* request, ds3_bool value) {
937-
_set_query_param_flag(request, "assigned_to_storage_domain", value);
945+
_set_query_param_ds3_bool(request, "assigned_to_storage_domain", value);
938946

939947
}
940948
void ds3_request_set_auth_id(const ds3_request* request, const char * const value) {
@@ -946,7 +954,7 @@ void ds3_request_set_auto_activate_timeout_in_mins(const ds3_request* request, c
946954

947955
}
948956
void ds3_request_set_auto_compaction_enabled(const ds3_request* request, ds3_bool value) {
949-
_set_query_param_flag(request, "auto_compaction_enabled", value);
957+
_set_query_param_ds3_bool(request, "auto_compaction_enabled", value);
950958

951959
}
952960
void ds3_request_set_auto_compaction_threshold(const ds3_request* request, const int value) {
@@ -962,23 +970,23 @@ void ds3_request_set_auto_eject_upon_cron(const ds3_request* request, const char
962970

963971
}
964972
void ds3_request_set_auto_eject_upon_job_cancellation(const ds3_request* request, ds3_bool value) {
965-
_set_query_param_flag(request, "auto_eject_upon_job_cancellation", value);
973+
_set_query_param_ds3_bool(request, "auto_eject_upon_job_cancellation", value);
966974

967975
}
968976
void ds3_request_set_auto_eject_upon_job_completion(const ds3_request* request, ds3_bool value) {
969-
_set_query_param_flag(request, "auto_eject_upon_job_completion", value);
977+
_set_query_param_ds3_bool(request, "auto_eject_upon_job_completion", value);
970978

971979
}
972980
void ds3_request_set_auto_eject_upon_media_full(const ds3_request* request, ds3_bool value) {
973-
_set_query_param_flag(request, "auto_eject_upon_media_full", value);
981+
_set_query_param_ds3_bool(request, "auto_eject_upon_media_full", value);
974982

975983
}
976984
void ds3_request_set_auto_inspect_ds3_auto_inspect_mode(const ds3_request* request, const ds3_auto_inspect_mode value) {
977985
_set_query_param(request, "auto_inspect", (const char*)_get_ds3_auto_inspect_mode_str(value));
978986

979987
}
980988
void ds3_request_set_auto_quiesce_enabled(const ds3_request* request, ds3_bool value) {
981-
_set_query_param_flag(request, "auto_quiesce_enabled", value);
989+
_set_query_param_ds3_bool(request, "auto_quiesce_enabled", value);
982990

983991
}
984992
void ds3_request_set_auto_reclaim_initiate_threshold(const ds3_request* request, const float value) {
@@ -1006,15 +1014,15 @@ void ds3_request_set_blob_id(const ds3_request* request, const char * const valu
10061014

10071015
}
10081016
void ds3_request_set_blobbing_enabled(const ds3_request* request, ds3_bool value) {
1009-
_set_query_param_flag(request, "blobbing_enabled", value);
1017+
_set_query_param_ds3_bool(request, "blobbing_enabled", value);
10101018

10111019
}
10121020
void ds3_request_set_bucket_id(const ds3_request* request, const char * const value) {
10131021
_set_query_param(request, "bucket_id", value);
10141022

10151023
}
10161024
void ds3_request_set_built_in(const ds3_request* request, ds3_bool value) {
1017-
_set_query_param_flag(request, "built_in", value);
1025+
_set_query_param_ds3_bool(request, "built_in", value);
10181026

10191027
}
10201028
void ds3_request_set_burst_threshold(const ds3_request* request, const float value) {
@@ -1030,7 +1038,7 @@ void ds3_request_set_cached_only(const ds3_request* request, ds3_bool value) {
10301038

10311039
}
10321040
void ds3_request_set_canceled_due_to_timeout(const ds3_request* request, ds3_bool value) {
1033-
_set_query_param_flag(request, "canceled_due_to_timeout", value);
1041+
_set_query_param_ds3_bool(request, "canceled_due_to_timeout", value);
10341042

10351043
}
10361044
void ds3_request_set_checksum_type_ds3_checksum_type(const ds3_request* request, const ds3_checksum_type value) {
@@ -1058,7 +1066,7 @@ void ds3_request_set_data_path_end_point(const ds3_request* request, const char
10581066

10591067
}
10601068
void ds3_request_set_data_path_https(const ds3_request* request, ds3_bool value) {
1061-
_set_query_param_flag(request, "data_path_https", value);
1069+
_set_query_param_ds3_bool(request, "data_path_https", value);
10621070

10631071
}
10641072
void ds3_request_set_data_path_port(const ds3_request* request, const int value) {
@@ -1070,7 +1078,7 @@ void ds3_request_set_data_path_proxy(const ds3_request* request, const char * co
10701078

10711079
}
10721080
void ds3_request_set_data_path_verify_certificate(const ds3_request* request, ds3_bool value) {
1073-
_set_query_param_flag(request, "data_path_verify_certificate", value);
1081+
_set_query_param_ds3_bool(request, "data_path_verify_certificate", value);
10741082

10751083
}
10761084
void ds3_request_set_data_policy_id(const ds3_request* request, const char * const value) {
@@ -1098,15 +1106,15 @@ void ds3_request_set_default_read_preference_ds3_target_read_preference_type(con
10981106

10991107
}
11001108
void ds3_request_set_default_verify_after_write(const ds3_request* request, ds3_bool value) {
1101-
_set_query_param_flag(request, "default_verify_after_write", value);
1109+
_set_query_param_ds3_bool(request, "default_verify_after_write", value);
11021110

11031111
}
11041112
void ds3_request_set_default_verify_data_after_import_ds3_priority(const ds3_request* request, const ds3_priority value) {
11051113
_set_query_param(request, "default_verify_data_after_import", (const char*)_get_ds3_priority_str(value));
11061114

11071115
}
11081116
void ds3_request_set_default_verify_data_prior_to_import(const ds3_request* request, ds3_bool value) {
1109-
_set_query_param_flag(request, "default_verify_data_prior_to_import", value);
1117+
_set_query_param_ds3_bool(request, "default_verify_data_prior_to_import", value);
11101118

11111119
}
11121120
void ds3_request_set_default_verify_job_priority_ds3_priority(const ds3_request* request, const ds3_priority value) {
@@ -1146,7 +1154,7 @@ void ds3_request_set_end_date(const ds3_request* request, const uint64_t value)
11461154

11471155
}
11481156
void ds3_request_set_end_to_end_crc_required(const ds3_request* request, ds3_bool value) {
1149-
_set_query_param_flag(request, "end_to_end_crc_required", value);
1157+
_set_query_param_ds3_bool(request, "end_to_end_crc_required", value);
11501158

11511159
}
11521160
void ds3_request_set_error_message(const ds3_request* request, const char * const value) {
@@ -1170,7 +1178,7 @@ void ds3_request_set_full_details(const ds3_request* request, ds3_bool value) {
11701178

11711179
}
11721180
void ds3_request_set_full_of_data(const ds3_request* request, ds3_bool value) {
1173-
_set_query_param_flag(request, "full_of_data", value);
1181+
_set_query_param_ds3_bool(request, "full_of_data", value);
11741182

11751183
}
11761184
void ds3_request_set_group_id(const ds3_request* request, const char * const value) {
@@ -1186,7 +1194,7 @@ void ds3_request_set_health_ds3_pool_health(const ds3_request* request, const ds
11861194

11871195
}
11881196
void ds3_request_set_https(const ds3_request* request, ds3_bool value) {
1189-
_set_query_param_flag(request, "https", value);
1197+
_set_query_param_ds3_bool(request, "https", value);
11901198

11911199
}
11921200
void ds3_request_set_id(const ds3_request* request, const char * const value) {
@@ -1198,7 +1206,7 @@ void ds3_request_set_ignore_naming_conflicts(const ds3_request* request, ds3_boo
11981206

11991207
}
12001208
void ds3_request_set_implicit_job_id_resolution(const ds3_request* request, ds3_bool value) {
1201-
_set_query_param_flag(request, "implicit_job_id_resolution", value);
1209+
_set_query_param_ds3_bool(request, "implicit_job_id_resolution", value);
12021210

12031211
}
12041212
void ds3_request_set_import_export_configuration_ds3_import_export_configuration(const ds3_request* request, const ds3_import_export_configuration value) {
@@ -1218,7 +1226,7 @@ void ds3_request_set_iom_cache_limitation_percent(const ds3_request* request, co
12181226

12191227
}
12201228
void ds3_request_set_iom_enabled(const ds3_request* request, ds3_bool value) {
1221-
_set_query_param_flag(request, "iom_enabled", value);
1229+
_set_query_param_ds3_bool(request, "iom_enabled", value);
12221230

12231231
}
12241232
void ds3_request_set_isolation_level_ds3_data_isolation_level(const ds3_request* request, const ds3_data_isolation_level value) {
@@ -1254,7 +1262,7 @@ void ds3_request_set_last_verified(const ds3_request* request, const char * cons
12541262

12551263
}
12561264
void ds3_request_set_latest(const ds3_request* request, ds3_bool value) {
1257-
_set_query_param_flag(request, "latest", value);
1265+
_set_query_param_ds3_bool(request, "latest", value);
12581266

12591267
}
12601268
void ds3_request_set_library_id(const ds3_request* request, const char * const value) {
@@ -1322,7 +1330,7 @@ void ds3_request_set_maximum_auto_verification_frequency_in_days(const ds3_reque
13221330

13231331
}
13241332
void ds3_request_set_media_ejection_allowed(const ds3_request* request, ds3_bool value) {
1325-
_set_query_param_flag(request, "media_ejection_allowed", value);
1333+
_set_query_param_ds3_bool(request, "media_ejection_allowed", value);
13261334

13271335
}
13281336
void ds3_request_set_member_group_id(const ds3_request* request, const char * const value) {
@@ -1338,7 +1346,7 @@ void ds3_request_set_min_sequence_number(const ds3_request* request, const uint6
13381346

13391347
}
13401348
void ds3_request_set_minimize_spanning_across_media(const ds3_request* request, ds3_bool value) {
1341-
_set_query_param_flag(request, "minimize_spanning_across_media", value);
1349+
_set_query_param_ds3_bool(request, "minimize_spanning_across_media", value);
13421350

13431351
}
13441352
void ds3_request_set_minimum_days_to_retain(const ds3_request* request, const int value) {
@@ -1418,7 +1426,7 @@ void ds3_request_set_permission_ds3_bucket_acl_permission(const ds3_request* req
14181426

14191427
}
14201428
void ds3_request_set_permit_going_out_of_sync(const ds3_request* request, ds3_bool value) {
1421-
_set_query_param_flag(request, "permit_going_out_of_sync", value);
1429+
_set_query_param_ds3_bool(request, "permit_going_out_of_sync", value);
14221430

14231431
}
14241432
void ds3_request_set_persistence_rule_id(const ds3_request* request, const char * const value) {
@@ -1446,7 +1454,7 @@ void ds3_request_set_pool_type_ds3_pool_type(const ds3_request* request, const d
14461454

14471455
}
14481456
void ds3_request_set_powered_on(const ds3_request* request, ds3_bool value) {
1449-
_set_query_param_flag(request, "powered_on", value);
1457+
_set_query_param_ds3_bool(request, "powered_on", value);
14501458

14511459
}
14521460
void ds3_request_set_pre_allocate_job_space(const ds3_request* request, ds3_bool value) {
@@ -1510,7 +1518,7 @@ void ds3_request_set_region_ds3_s3_region(const ds3_request* request, const ds3_
15101518

15111519
}
15121520
void ds3_request_set_replicate_deletes(const ds3_request* request, ds3_bool value) {
1513-
_set_query_param_flag(request, "replicate_deletes", value);
1521+
_set_query_param_ds3_bool(request, "replicate_deletes", value);
15141522

15151523
}
15161524
void ds3_request_set_replicated_user_default_data_policy(const ds3_request* request, const char * const value) {
@@ -1526,15 +1534,15 @@ void ds3_request_set_reserved_task_type_ds3_reserved_task_type(const ds3_request
15261534

15271535
}
15281536
void ds3_request_set_restricted_access(const ds3_request* request, ds3_bool value) {
1529-
_set_query_param_flag(request, "restricted_access", value);
1537+
_set_query_param_ds3_bool(request, "restricted_access", value);
15301538

15311539
}
15321540
void ds3_request_set_secret_key(const ds3_request* request, const char * const value) {
15331541
_set_query_param(request, "secret_key", value);
15341542

15351543
}
15361544
void ds3_request_set_secure_media_allocation(const ds3_request* request, ds3_bool value) {
1537-
_set_query_param_flag(request, "secure_media_allocation", value);
1545+
_set_query_param_ds3_bool(request, "secure_media_allocation", value);
15381546

15391547
}
15401548
void ds3_request_set_serial_number(const ds3_request* request, const char * const value) {
@@ -1630,7 +1638,7 @@ void ds3_request_set_task_priority_ds3_priority(const ds3_request* request, cons
16301638

16311639
}
16321640
void ds3_request_set_truncated(const ds3_request* request, ds3_bool value) {
1633-
_set_query_param_flag(request, "truncated", value);
1641+
_set_query_param_ds3_bool(request, "truncated", value);
16341642

16351643
}
16361644
void ds3_request_set_type_ds3_data_replication_rule_type(const ds3_request* request, const ds3_data_replication_rule_type value) {
@@ -1702,15 +1710,15 @@ void ds3_request_set_user_id(const ds3_request* request, const char * const valu
17021710

17031711
}
17041712
void ds3_request_set_verify_after_write(const ds3_request* request, ds3_bool value) {
1705-
_set_query_param_flag(request, "verify_after_write", value);
1713+
_set_query_param_ds3_bool(request, "verify_after_write", value);
17061714

17071715
}
17081716
void ds3_request_set_verify_data_after_import_ds3_priority(const ds3_request* request, const ds3_priority value) {
17091717
_set_query_param(request, "verify_data_after_import", (const char*)_get_ds3_priority_str(value));
17101718

17111719
}
17121720
void ds3_request_set_verify_data_prior_to_import(const ds3_request* request, ds3_bool value) {
1713-
_set_query_param_flag(request, "verify_data_prior_to_import", value);
1721+
_set_query_param_ds3_bool(request, "verify_data_prior_to_import", value);
17141722

17151723
}
17161724
void ds3_request_set_verify_pending_ds3_priority(const ds3_request* request, const ds3_priority value) {
@@ -1742,7 +1750,7 @@ void ds3_request_set_write_preference_ds3_write_preference_level(const ds3_reque
17421750

17431751
}
17441752
void ds3_request_set_write_protected(const ds3_request* request, ds3_bool value) {
1745-
_set_query_param_flag(request, "write_protected", value);
1753+
_set_query_param_ds3_bool(request, "write_protected", value);
17461754

17471755
}
17481756

test/job_tests.cpp

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,25 @@ BOOST_AUTO_TEST_CASE(cancel_job){
9191
free_client(client);
9292
}
9393

94+
BOOST_AUTO_TEST_CASE(create_aggregate_job){
95+
ds3_client* client = get_client();
96+
97+
const char* bucket_name = "bucket_test_create_aggregate_job";
98+
99+
printf("-----Testing Create Aggregate Job-------\n");
100+
101+
ds3_bulk_object_list_response* obj_list = default_object_list();
102+
ds3_request* request = populate_bulk_return_request(client, bucket_name, obj_list);
103+
ds3_request_set_aggregating(request, True);
104+
ds3_master_object_list_response* response = populate_bulk_return_response(client, request);
105+
106+
BOOST_CHECK(response->aggregating == True);
107+
ds3_master_object_list_response_free(response);
108+
ds3_bulk_object_list_response_free(obj_list);
109+
clear_bucket(client, bucket_name);
110+
free_client(client);
111+
}
112+
94113
BOOST_AUTO_TEST_CASE(get_jobs){
95114
ds3_client* client = get_client();
96115
ds3_error* error = NULL;

0 commit comments

Comments
 (0)