freeclimb 4.5.0 → 4.5.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -111,11 +111,12 @@ describe 'RequestVerifier' do
111
111
  context 'Request plus tolerance is not less than the current datetime' do
112
112
  it 'throws "Request time exceeded tolerance threshold. Request: 1900871395, CurrentTime: currentTimeValue, tolerance, toleranceValue"' do
113
113
  currentTime = DateTime.now.strftime('%s').to_i
114
- request_header = "t=1900871395,v1=1d798c86e977ff734dec3a8b8d67fe8621dcc1df46ef4212e0bfe2e122b01bfd,v1=1ba18712726898fbbe48cd862dd096a709f7ad761a5bab14bda9ac24d963a6a8"
114
+ timeCalculation = currentTime - (6 * 60)
115
+ request_header = "t=#{timeCalculation},v1=1d798c86e977ff734dec3a8b8d67fe8621dcc1df46ef4212e0bfe2e122b01bfd,v1=1ba18712726898fbbe48cd862dd096a709f7ad761a5bab14bda9ac24d963a6a8"
115
116
  signing_secret = "sigsec_ead6d3b6904196c60835d039e91b3341c77a7793"
116
117
  tolerance = (5 * 60)
117
118
  request_body = "{\"accountId\":\"AC1334ffb694cd8d969f51cddf5f7c9b478546d50c\",\"callId\":\"CAccb0b00506553cda09b51c5477f672a49e0b2213\",\"callStatus\":\"ringing\",\"conferenceId\":null,\"direction\":\"inbound\",\"from\":\"+13121000109\",\"parentCallId\":null,\"queueId\":null,\"requestType\":\"inboundCall\",\"to\":\"+13121000096\"}"
118
- expect { Freeclimb::RequestVerifier.verify_request_signature(request_body, request_header, signing_secret, tolerance) }.to raise_error("Request time exceeded tolerance threshold. Request: 1900871395" + ", CurrentTime: " + currentTime.to_s + ", tolerance: " + tolerance.to_s)
119
+ expect { Freeclimb::RequestVerifier.verify_request_signature(request_body, request_header, signing_secret, tolerance) }.to raise_error("Request time exceeded tolerance threshold. Request: #{timeCalculation}" + ", CurrentTime: " + currentTime.to_s + ", tolerance: " + tolerance.to_s)
119
120
  end
120
121
  end
121
122
  end
@@ -124,7 +125,7 @@ describe 'RequestVerifier' do
124
125
  context 'Signature request is unverified, signing secret does not exist in signatures, potential typo' do
125
126
  it 'throws "Unverified signature request, If this request was unexpected, it may be from a bad actor. Please proceed with caution. If the request was exepected, please check any typos or issues with the signingSecret"' do
126
127
  currentTime = DateTime.now.strftime('%s').to_i
127
- request_header = "t=1679944186,v1=c3957749baf61df4b1506802579cc69a74c77a1ae21447b930e5a704f9ec4120,v1=1ba18712726898fbbe48cd862dd096a709f7ad761a5bab14bda9ac24d963a6a8"
128
+ request_header = "t=#{currentTime},v1=c3957749baf61df4b1506802579cc69a74c77a1ae21447b930e5a704f9ec4120,v1=1ba18712726898fbbe48cd862dd096a709f7ad761a5bab14bda9ac24d963a6a8"
128
129
  signing_secret = "sigsec_ead6d3b6904196c60835d039e91b3341c77a7794"
129
130
  tolerance = (5 * 60)
130
131
  request_body = "{\"accountId\":\"AC1334ffb694cd8d969f51cddf5f7c9b478546d50c\",\"callId\":\"CAccb0b00506553cda09b51c5477f672a49e0b2213\",\"callStatus\":\"ringing\",\"conferenceId\":null,\"direction\":\"inbound\",\"from\":\"+13121000109\",\"parentCallId\":null,\"queueId\":null,\"requestType\":\"inboundCall\",\"to\":\"+13121000096\"}"
@@ -136,7 +137,7 @@ describe 'RequestVerifier' do
136
137
  describe '#verify_request_signature' do
137
138
  context 'Request is valid' do
138
139
  it 'No errors are thrown' do
139
- request_header = "t=1679944186,v1=c3957749baf61df4b1506802579cc69a74c77a1ae21447b930e5a704f9ec4120,v1=1ba18712726898fbbe48cd862dd096a709f7ad761a5bab14bda9ac24d963a6a8"
140
+ request_header = "t=2130000000,v1=c3957749baf61df4b1506802579cc69a74c77a1ae21447b930e5a704f9ec4120,v1=6835006e70c9b9f610e8fb3a8b36b52b3f28c12d0a2dab75091c46ca7ec11b20"
140
141
  signing_secret = "sigsec_ead6d3b6904196c60835d039e91b3341c77a7793"
141
142
  tolerance = (5 * 60)
142
143
  request_body = "{\"accountId\":\"AC1334ffb694cd8d969f51cddf5f7c9b478546d50c\",\"callId\":\"CAccb0b00506553cda09b51c5477f672a49e0b2213\",\"callStatus\":\"ringing\",\"conferenceId\":null,\"direction\":\"inbound\",\"from\":\"+13121000109\",\"parentCallId\":null,\"queueId\":null,\"requestType\":\"inboundCall\",\"to\":\"+13121000096\"}"
@@ -9,13 +9,19 @@ describe 'SignatureInformation' do
9
9
  describe '#is_request_time_valid' do
10
10
  context 'request time is within tolerance threshold' do
11
11
  it 'returns true' do
12
+ @time_calculation = DateTime.now.strftime('%s').to_i
13
+ @request_header = "t=#{@time_calculation},v1=c3957749baf61df4b1506802579cc69a74c77a1ae21447b930e5a704f9ec4120,v1=1ba18712726898fbbe48cd862dd096a709f7ad761a5bab14bda9ac24d963a6a8"
14
+ @signature_information_object = Freeclimb::SignatureInformation.new(@request_header)
12
15
  tolerance = 5 * 60
13
16
  expect(@signature_information_object.is_request_time_valid(tolerance)).to be true
14
17
  end
15
18
  end
16
19
  context 'request time is not within tolerance threshold' do
17
20
  it 'returns false since it does not match condition of request time being within tolerance threshold' do
18
- tolerance = $FIXNUM_MAX - $time_stamp
21
+ @time_calculation = DateTime.now.strftime('%s').to_i - (600 * 60)
22
+ @request_header = "t=#{@time_calculation},v1=c3957749baf61df4b1506802579cc69a74c77a1ae21447b930e5a704f9ec4120,v1=1ba18712726898fbbe48cd862dd096a709f7ad761a5bab14bda9ac24d963a6a8"
23
+ @signature_information_object = Freeclimb::SignatureInformation.new(@request_header)
24
+ tolerance = 500 * 60
19
25
  expect(@signature_information_object.is_request_time_valid(tolerance)).to be false
20
26
  end
21
27
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: freeclimb
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.5.0
4
+ version: 4.5.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - OpenAPI-Generator
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-08-31 00:00:00.000000000 Z
11
+ date: 2024-04-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: typhoeus
@@ -67,6 +67,7 @@ files:
67
67
  - CHANGELOG.md
68
68
  - Gemfile
69
69
  - Gemfile.lock
70
+ - LICENSE.txt
70
71
  - README.md
71
72
  - Rakefile
72
73
  - docs/AccountRequest.md
@@ -488,100 +489,100 @@ test_files:
488
489
  - spec/api_client_spec.rb
489
490
  - spec/configuration_spec.rb
490
491
  - spec/factories.rb
491
- - spec/models/remove_from_conference_spec.rb
492
+ - spec/models/mutable_resource_model_spec.rb
493
+ - spec/models/create_conference_request_spec.rb
494
+ - spec/models/record_utterance_spec.rb
495
+ - spec/models/out_dial_spec.rb
496
+ - spec/models/grammar_type_spec.rb
492
497
  - spec/models/queue_list_spec.rb
493
- - spec/models/sms_ten_dlc_partner_campaigns_list_result_spec.rb
494
- - spec/models/transcribe_utterance_record_spec.rb
495
- - spec/models/percl_command_spec.rb
496
- - spec/models/log_result_spec.rb
497
- - spec/models/set_talk_spec.rb
498
- - spec/models/buy_incoming_number_request_spec.rb
499
- - spec/models/get_speech_reason_spec.rb
500
- - spec/models/update_conference_request_spec.rb
501
- - spec/models/enqueue_spec.rb
502
- - spec/models/queue_member_list_spec.rb
503
- - spec/models/play_early_media_spec.rb
498
+ - spec/models/create_conference_spec.rb
504
499
  - spec/models/get_speech_spec.rb
505
- - spec/models/call_result_spec.rb
506
- - spec/models/dequeue_spec.rb
507
- - spec/models/update_conference_participant_request_spec.rb
508
- - spec/models/redirect_spec.rb
509
- - spec/models/record_utterance_term_reason_spec.rb
510
- - spec/models/mutable_resource_model_spec.rb
511
- - spec/models/queue_result_status_spec.rb
512
- - spec/models/incoming_number_result_spec.rb
500
+ - spec/models/update_call_request_status_spec.rb
501
+ - spec/models/application_request_spec.rb
502
+ - spec/models/available_number_spec.rb
513
503
  - spec/models/update_call_request_spec.rb
514
- - spec/models/machine_type_spec.rb
504
+ - spec/models/application_result_spec.rb
505
+ - spec/models/pause_spec.rb
506
+ - spec/models/redirect_spec.rb
507
+ - spec/models/pagination_model_spec.rb
508
+ - spec/models/play_beep_spec.rb
509
+ - spec/models/message_request_spec.rb
510
+ - spec/models/answered_by_spec.rb
515
511
  - spec/models/call_list_spec.rb
516
- - spec/models/update_call_request_status_spec.rb
512
+ - spec/models/conference_result_spec.rb
513
+ - spec/models/sms_ten_dlc_campaigns_list_result_spec.rb
517
514
  - spec/models/account_type_spec.rb
515
+ - spec/models/update_conference_request_status_spec.rb
516
+ - spec/models/conference_status_spec.rb
517
+ - spec/models/queue_result_status_spec.rb
518
+ - spec/models/transcribe_utterance_record_spec.rb
519
+ - spec/models/sms_ten_dlc_brands_list_result_spec.rb
520
+ - spec/models/call_result_spec.rb
521
+ - spec/models/enqueue_spec.rb
522
+ - spec/models/play_early_media_spec.rb
523
+ - spec/models/queue_request_spec.rb
518
524
  - spec/models/terminate_conference_spec.rb
519
- - spec/models/play_spec.rb
520
- - spec/models/grammar_type_spec.rb
521
- - spec/models/sms_ten_dlc_partner_campaign_brand_spec.rb
522
- - spec/models/make_call_request_spec.rb
523
- - spec/models/call_direction_spec.rb
524
- - spec/models/call_status_spec.rb
525
- - spec/models/conference_list_spec.rb
526
- - spec/models/pagination_model_spec.rb
527
- - spec/models/application_result_spec.rb
528
- - spec/models/create_conference_spec.rb
529
- - spec/models/account_result_spec.rb
530
- - spec/models/capabilities_spec.rb
525
+ - spec/models/set_talk_spec.rb
526
+ - spec/models/if_machine_spec.rb
527
+ - spec/models/message_direction_spec.rb
531
528
  - spec/models/start_record_call_spec.rb
532
- - spec/models/account_status_spec.rb
533
- - spec/models/available_number_list_spec.rb
534
- - spec/models/sms_ten_dlc_brand_spec.rb
535
- - spec/models/queue_request_spec.rb
536
529
  - spec/models/send_digits_spec.rb
537
- - spec/models/sms_ten_dlc_campaigns_list_result_spec.rb
538
- - spec/models/message_request_spec.rb
539
- - spec/models/message_direction_spec.rb
540
- - spec/models/park_spec.rb
541
- - spec/models/sms_ten_dlc_partner_campaign_spec.rb
542
- - spec/models/messages_list_spec.rb
543
- - spec/models/sms_ten_dlc_brands_list_result_spec.rb
544
- - spec/models/language_spec.rb
530
+ - spec/models/update_conference_participant_request_spec.rb
531
+ - spec/models/queue_result_spec.rb
532
+ - spec/models/message_status_spec.rb
533
+ - spec/models/recording_result_spec.rb
534
+ - spec/models/unpark_spec.rb
535
+ - spec/models/incoming_number_result_spec.rb
536
+ - spec/models/log_level_spec.rb
537
+ - spec/models/add_to_conference_spec.rb
538
+ - spec/models/sms_spec.rb
545
539
  - spec/models/message_result_spec.rb
546
- - spec/models/record_utterance_spec.rb
547
- - spec/models/pause_spec.rb
548
- - spec/models/conference_participant_list_spec.rb
549
- - spec/models/set_listen_spec.rb
550
- - spec/models/available_number_spec.rb
551
- - spec/models/answered_by_spec.rb
552
- - spec/models/filter_logs_request_spec.rb
553
- - spec/models/recording_list_spec.rb
540
+ - spec/models/log_list_spec.rb
541
+ - spec/models/sms_ten_dlc_partner_campaign_spec.rb
554
542
  - spec/models/hangup_spec.rb
555
- - spec/models/update_conference_request_status_spec.rb
543
+ - spec/models/play_spec.rb
544
+ - spec/models/buy_incoming_number_request_spec.rb
556
545
  - spec/models/get_digits_spec.rb
557
- - spec/models/account_request_spec.rb
558
- - spec/models/out_dial_spec.rb
559
- - spec/models/transcribe_utterance_spec.rb
560
- - spec/models/log_level_spec.rb
546
+ - spec/models/remove_from_conference_spec.rb
547
+ - spec/models/update_conference_request_spec.rb
548
+ - spec/models/language_spec.rb
549
+ - spec/models/percl_command_spec.rb
561
550
  - spec/models/reject_spec.rb
562
- - spec/models/sms_spec.rb
551
+ - spec/models/queue_member_list_spec.rb
552
+ - spec/models/sms_ten_dlc_partner_campaigns_list_result_spec.rb
553
+ - spec/models/conference_participant_list_spec.rb
563
554
  - spec/models/grammar_file_built_in_spec.rb
564
- - spec/models/conference_participant_result_spec.rb
555
+ - spec/models/conference_list_spec.rb
556
+ - spec/models/transcribe_utterance_spec.rb
557
+ - spec/models/dequeue_spec.rb
565
558
  - spec/models/say_spec.rb
566
- - spec/models/conference_result_spec.rb
567
- - spec/models/create_conference_request_spec.rb
568
- - spec/models/unpark_spec.rb
569
- - spec/models/incoming_number_list_spec.rb
559
+ - spec/models/percl_script_spec.rb
560
+ - spec/models/call_direction_spec.rb
561
+ - spec/models/call_status_spec.rb
562
+ - spec/models/account_status_spec.rb
563
+ - spec/models/record_utterance_term_reason_spec.rb
570
564
  - spec/models/request_type_spec.rb
571
- - spec/models/application_list_spec.rb
572
- - spec/models/queue_result_spec.rb
573
- - spec/models/recording_result_spec.rb
574
- - spec/models/if_machine_spec.rb
575
- - spec/models/application_request_spec.rb
576
- - spec/models/conference_status_spec.rb
565
+ - spec/models/capabilities_spec.rb
566
+ - spec/models/incoming_number_list_spec.rb
567
+ - spec/models/filter_logs_request_spec.rb
577
568
  - spec/models/queue_member_spec.rb
578
- - spec/models/percl_script_spec.rb
579
- - spec/models/add_to_conference_spec.rb
580
- - spec/models/play_beep_spec.rb
581
- - spec/models/log_list_spec.rb
582
- - spec/models/message_status_spec.rb
569
+ - spec/models/make_call_request_spec.rb
570
+ - spec/models/account_request_spec.rb
571
+ - spec/models/set_listen_spec.rb
572
+ - spec/models/conference_participant_result_spec.rb
573
+ - spec/models/log_result_spec.rb
574
+ - spec/models/available_number_list_spec.rb
575
+ - spec/models/machine_type_spec.rb
576
+ - spec/models/park_spec.rb
577
+ - spec/models/application_list_spec.rb
578
+ - spec/models/sms_ten_dlc_partner_campaign_brand_spec.rb
579
+ - spec/models/account_result_spec.rb
580
+ - spec/models/messages_list_spec.rb
583
581
  - spec/models/sms_ten_dlc_campaign_spec.rb
584
582
  - spec/models/incoming_number_request_spec.rb
583
+ - spec/models/recording_list_spec.rb
584
+ - spec/models/get_speech_reason_spec.rb
585
+ - spec/models/sms_ten_dlc_brand_spec.rb
585
586
  - spec/quickstart_spec.rb
586
587
  - spec/spec_helper.rb
587
588
  - spec/utils/request_verifier_spec.rb