Maintenance: Updated all non-pinned gems.
Special thanks to @thorsteneckel for fixing the VCR/Twitter problems!
This commit is contained in:
parent
3b518cfa00
commit
0f61a7e6ca
180 changed files with 113396 additions and 42285 deletions
|
@ -2,6 +2,7 @@
|
||||||
# https://github.com/rubocop-hq/rubocop/blob/master/config/default.yml
|
# https://github.com/rubocop-hq/rubocop/blob/master/config/default.yml
|
||||||
|
|
||||||
require:
|
require:
|
||||||
|
- rubocop-faker
|
||||||
- rubocop-performance
|
- rubocop-performance
|
||||||
- rubocop-rails
|
- rubocop-rails
|
||||||
- rubocop-rspec
|
- rubocop-rspec
|
||||||
|
|
6
Gemfile
6
Gemfile
|
@ -70,7 +70,7 @@ gem 'execjs'
|
||||||
# Instead, use an external node.js binary.
|
# Instead, use an external node.js binary.
|
||||||
group :mini_racer, optional: true do
|
group :mini_racer, optional: true do
|
||||||
gem 'libv8'
|
gem 'libv8'
|
||||||
gem 'mini_racer'
|
gem 'mini_racer', '0.2.9' # Newer versions require libv8-node instead which does not compile on older platforms.
|
||||||
end
|
end
|
||||||
|
|
||||||
# authentication - provider
|
# authentication - provider
|
||||||
|
@ -95,7 +95,8 @@ gem 'omniauth-weibo-oauth2'
|
||||||
gem 'gmail_xoauth'
|
gem 'gmail_xoauth'
|
||||||
gem 'koala'
|
gem 'koala'
|
||||||
gem 'telegramAPI'
|
gem 'telegramAPI'
|
||||||
gem 'twitter', git: 'https://github.com/sferik/twitter.git'
|
# Updating twitter to 'master' seems to break things, so freeze the revision for now.
|
||||||
|
gem 'twitter', git: 'https://github.com/sferik/twitter.git', ref: '29a18644e3c433f53ed76f0867f9b9734f7a7357'
|
||||||
|
|
||||||
# channels - email additions
|
# channels - email additions
|
||||||
gem 'htmlentities'
|
gem 'htmlentities'
|
||||||
|
@ -190,6 +191,7 @@ group :development, :test do
|
||||||
gem 'coffeelint'
|
gem 'coffeelint'
|
||||||
gem 'pre-commit'
|
gem 'pre-commit'
|
||||||
gem 'rubocop'
|
gem 'rubocop'
|
||||||
|
gem 'rubocop-faker'
|
||||||
gem 'rubocop-performance'
|
gem 'rubocop-performance'
|
||||||
gem 'rubocop-rails'
|
gem 'rubocop-rails'
|
||||||
gem 'rubocop-rspec'
|
gem 'rubocop-rspec'
|
||||||
|
|
415
Gemfile.lock
415
Gemfile.lock
|
@ -1,12 +1,13 @@
|
||||||
GIT
|
GIT
|
||||||
remote: https://github.com/sferik/twitter.git
|
remote: https://github.com/sferik/twitter.git
|
||||||
revision: 844818cad07ce490ccb9d8542ebb6b4fc7a61cb4
|
revision: 29a18644e3c433f53ed76f0867f9b9734f7a7357
|
||||||
|
ref: 29a18644e3c433f53ed76f0867f9b9734f7a7357
|
||||||
specs:
|
specs:
|
||||||
twitter (6.2.0)
|
twitter (7.0.0)
|
||||||
addressable (~> 2.3)
|
addressable (~> 2.3)
|
||||||
buftok (~> 0.2.0)
|
buftok (~> 0.2.0)
|
||||||
equalizer (~> 0.0.11)
|
equalizer (~> 0.0.11)
|
||||||
http (~> 3.0)
|
http (~> 4.0)
|
||||||
http-form_data (~> 2.0)
|
http-form_data (~> 2.0)
|
||||||
http_parser.rb (~> 0.6.0)
|
http_parser.rb (~> 0.6.0)
|
||||||
memoizable (~> 0.4.0)
|
memoizable (~> 0.4.0)
|
||||||
|
@ -47,7 +48,7 @@ GIT
|
||||||
GEM
|
GEM
|
||||||
remote: https://rubygems.org/
|
remote: https://rubygems.org/
|
||||||
specs:
|
specs:
|
||||||
aasm (5.0.0)
|
aasm (5.2.0)
|
||||||
concurrent-ruby (~> 1.0)
|
concurrent-ruby (~> 1.0)
|
||||||
actioncable (6.0.4)
|
actioncable (6.0.4)
|
||||||
actionpack (= 6.0.4)
|
actionpack (= 6.0.4)
|
||||||
|
@ -93,10 +94,10 @@ GEM
|
||||||
activerecord (6.0.4)
|
activerecord (6.0.4)
|
||||||
activemodel (= 6.0.4)
|
activemodel (= 6.0.4)
|
||||||
activesupport (= 6.0.4)
|
activesupport (= 6.0.4)
|
||||||
activerecord-import (1.0.5)
|
activerecord-import (1.1.0)
|
||||||
activerecord (>= 3.2)
|
activerecord (>= 3.2)
|
||||||
activerecord-nulldb-adapter (0.4.0)
|
activerecord-nulldb-adapter (0.7.0)
|
||||||
activerecord (>= 2.0.0)
|
activerecord (>= 5.2.0, < 6.3)
|
||||||
activerecord-session_store (2.0.0)
|
activerecord-session_store (2.0.0)
|
||||||
actionpack (>= 5.2.4.1)
|
actionpack (>= 5.2.4.1)
|
||||||
activerecord (>= 5.2.4.1)
|
activerecord (>= 5.2.4.1)
|
||||||
|
@ -114,42 +115,59 @@ GEM
|
||||||
minitest (~> 5.1)
|
minitest (~> 5.1)
|
||||||
tzinfo (~> 1.1)
|
tzinfo (~> 1.1)
|
||||||
zeitwerk (~> 2.2, >= 2.2.2)
|
zeitwerk (~> 2.2, >= 2.2.2)
|
||||||
acts_as_list (1.0.1)
|
acts_as_list (1.0.4)
|
||||||
activerecord (>= 4.2)
|
activerecord (>= 4.2)
|
||||||
addressable (2.5.2)
|
addressable (2.7.0)
|
||||||
public_suffix (>= 2.0.2, < 4.0)
|
public_suffix (>= 2.0.2, < 5.0)
|
||||||
argon2 (2.0.2)
|
argon2 (2.0.3)
|
||||||
ffi (~> 1.9)
|
ffi (~> 1.14)
|
||||||
ffi-compiler (>= 0.1)
|
ffi-compiler (~> 1.0)
|
||||||
ast (2.4.2)
|
ast (2.4.2)
|
||||||
autoprefixer-rails (9.5.1)
|
async (1.29.1)
|
||||||
execjs
|
console (~> 1.10)
|
||||||
binding_of_caller (0.8.0)
|
nio4r (~> 2.3)
|
||||||
|
timers (~> 4.1)
|
||||||
|
async-http (0.56.3)
|
||||||
|
async (~> 1.25)
|
||||||
|
async-io (~> 1.28)
|
||||||
|
async-pool (~> 0.2)
|
||||||
|
protocol-http (~> 0.22.0)
|
||||||
|
protocol-http1 (~> 0.14.0)
|
||||||
|
protocol-http2 (~> 0.14.0)
|
||||||
|
async-http-faraday (0.11.0)
|
||||||
|
async-http (~> 0.42)
|
||||||
|
faraday
|
||||||
|
async-io (1.32.1)
|
||||||
|
async (~> 1.14)
|
||||||
|
async-pool (0.3.7)
|
||||||
|
async (~> 1.25)
|
||||||
|
autoprefixer-rails (10.2.5.1)
|
||||||
|
execjs (> 0)
|
||||||
|
binding_of_caller (1.0.0)
|
||||||
debug_inspector (>= 0.0.1)
|
debug_inspector (>= 0.0.1)
|
||||||
biz (1.8.2)
|
biz (1.8.2)
|
||||||
clavius (~> 1.0)
|
clavius (~> 1.0)
|
||||||
tzinfo
|
tzinfo
|
||||||
bootsnap (1.5.1)
|
bootsnap (1.7.5)
|
||||||
msgpack (~> 1.0)
|
msgpack (~> 1.0)
|
||||||
browser (2.5.3)
|
browser (5.3.1)
|
||||||
buftok (0.2.0)
|
buftok (0.2.0)
|
||||||
builder (3.2.4)
|
builder (3.2.4)
|
||||||
byebug (11.0.1)
|
byebug (11.1.3)
|
||||||
capybara (3.32.2)
|
capybara (3.35.3)
|
||||||
addressable
|
addressable
|
||||||
mini_mime (>= 0.1.3)
|
mini_mime (>= 0.1.3)
|
||||||
nokogiri (~> 1.8)
|
nokogiri (~> 1.8)
|
||||||
rack (>= 1.6.0)
|
rack (>= 1.6.0)
|
||||||
rack-test (>= 0.6.3)
|
rack-test (>= 0.6.3)
|
||||||
regexp_parser (~> 1.5)
|
regexp_parser (>= 1.5, < 3.0)
|
||||||
xpath (~> 3.2)
|
xpath (~> 3.2)
|
||||||
childprocess (1.0.1)
|
childprocess (3.0.0)
|
||||||
rake (< 13.0)
|
chunky_png (1.4.0)
|
||||||
chunky_png (1.3.12)
|
|
||||||
clavius (1.0.4)
|
clavius (1.0.4)
|
||||||
clearbit (0.2.8)
|
clearbit (0.3.3)
|
||||||
nestful (~> 1.1.0)
|
nestful (~> 1.1.0)
|
||||||
coderay (1.1.2)
|
coderay (1.1.3)
|
||||||
coffee-rails (5.0.0)
|
coffee-rails (5.0.0)
|
||||||
coffee-script (>= 2.2.0)
|
coffee-script (>= 2.2.0)
|
||||||
railties (>= 5.2.0)
|
railties (>= 5.2.0)
|
||||||
|
@ -161,34 +179,36 @@ GEM
|
||||||
coffee-script
|
coffee-script
|
||||||
execjs
|
execjs
|
||||||
json
|
json
|
||||||
composite_primary_keys (12.0.2)
|
composite_primary_keys (12.0.10)
|
||||||
activerecord (~> 6.0.0)
|
activerecord (~> 6.0.0)
|
||||||
concurrent-ruby (1.1.9)
|
concurrent-ruby (1.1.9)
|
||||||
coveralls (0.8.23)
|
console (1.13.1)
|
||||||
json (>= 1.8, < 3)
|
fiber-local
|
||||||
simplecov (~> 0.16.1)
|
coveralls (0.7.1)
|
||||||
term-ansicolor (~> 1.3)
|
multi_json (~> 1.3)
|
||||||
thor (>= 0.19.4, < 2.0)
|
rest-client
|
||||||
tins (~> 1.6)
|
simplecov (>= 0.7)
|
||||||
crack (0.4.3)
|
term-ansicolor
|
||||||
safe_yaml (~> 1.0.0)
|
thor
|
||||||
|
crack (0.4.5)
|
||||||
|
rexml
|
||||||
crass (1.0.6)
|
crass (1.0.6)
|
||||||
daemons (1.3.1)
|
daemons (1.4.0)
|
||||||
dalli (2.7.10)
|
dalli (2.7.11)
|
||||||
debug_inspector (0.0.3)
|
debug_inspector (1.1.0)
|
||||||
delayed_job (4.1.8)
|
delayed_job (4.1.9)
|
||||||
activesupport (>= 3.0, < 6.1)
|
activesupport (>= 3.0, < 6.2)
|
||||||
delayed_job_active_record (4.1.4)
|
delayed_job_active_record (4.1.6)
|
||||||
activerecord (>= 3.0, < 6.1)
|
activerecord (>= 3.0, < 6.2)
|
||||||
delayed_job (>= 3.0, < 5)
|
delayed_job (>= 3.0, < 5)
|
||||||
deprecation_toolkit (1.4.0)
|
deprecation_toolkit (1.5.1)
|
||||||
activesupport (>= 4.2)
|
activesupport (>= 4.2)
|
||||||
diff-lcs (1.3)
|
diff-lcs (1.4.4)
|
||||||
diffy (3.3.0)
|
diffy (3.4.0)
|
||||||
docile (1.3.1)
|
docile (1.4.0)
|
||||||
domain_name (0.5.20180417)
|
domain_name (0.5.20190701)
|
||||||
unf (>= 0.0.5, < 1.0.0)
|
unf (>= 0.0.5, < 1.0.0)
|
||||||
doorkeeper (5.3.2)
|
doorkeeper (5.5.2)
|
||||||
railties (>= 5)
|
railties (>= 5)
|
||||||
dotenv (2.7.6)
|
dotenv (2.7.6)
|
||||||
eco (1.0.0)
|
eco (1.0.0)
|
||||||
|
@ -196,42 +216,55 @@ GEM
|
||||||
eco-source
|
eco-source
|
||||||
execjs
|
execjs
|
||||||
eco-source (1.1.0.rc.1)
|
eco-source (1.1.0.rc.1)
|
||||||
em-websocket (0.5.1)
|
em-websocket (0.5.2)
|
||||||
eventmachine (>= 0.12.9)
|
eventmachine (>= 0.12.9)
|
||||||
http_parser.rb (~> 0.6.0)
|
http_parser.rb (~> 0.6.0)
|
||||||
equalizer (0.0.11)
|
equalizer (0.0.11)
|
||||||
erubi (1.10.0)
|
erubi (1.10.0)
|
||||||
eventmachine (1.2.7)
|
eventmachine (1.2.7)
|
||||||
execjs (2.7.0)
|
execjs (2.8.1)
|
||||||
factory_bot (5.0.2)
|
factory_bot (6.2.0)
|
||||||
activesupport (>= 4.2.0)
|
activesupport (>= 5.0.0)
|
||||||
factory_bot_rails (5.0.2)
|
factory_bot_rails (6.2.0)
|
||||||
factory_bot (~> 5.0.2)
|
factory_bot (~> 6.2.0)
|
||||||
railties (>= 4.2.0)
|
railties (>= 5.0.0)
|
||||||
faker (1.9.3)
|
faker (2.18.0)
|
||||||
i18n (>= 0.7)
|
i18n (>= 1.6, < 2)
|
||||||
faraday (0.17.3)
|
faraday (1.4.2)
|
||||||
|
faraday-em_http (~> 1.0)
|
||||||
|
faraday-em_synchrony (~> 1.0)
|
||||||
|
faraday-excon (~> 1.1)
|
||||||
|
faraday-net_http (~> 1.0)
|
||||||
|
faraday-net_http_persistent (~> 1.1)
|
||||||
multipart-post (>= 1.2, < 3)
|
multipart-post (>= 1.2, < 3)
|
||||||
faraday-http-cache (2.0.0)
|
ruby2_keywords (>= 0.0.4)
|
||||||
faraday (~> 0.8)
|
faraday-em_http (1.0.0)
|
||||||
ffi (1.15.0)
|
faraday-em_synchrony (1.0.0)
|
||||||
|
faraday-excon (1.1.0)
|
||||||
|
faraday-http-cache (2.2.0)
|
||||||
|
faraday (>= 0.8)
|
||||||
|
faraday-net_http (1.0.1)
|
||||||
|
faraday-net_http_persistent (1.1.0)
|
||||||
|
ffi (1.15.3)
|
||||||
ffi-compiler (1.0.1)
|
ffi-compiler (1.0.1)
|
||||||
ffi (>= 1.0.0)
|
ffi (>= 1.0.0)
|
||||||
rake
|
rake
|
||||||
formatador (0.2.5)
|
fiber-local (1.0.0)
|
||||||
github_changelog_generator (1.14.3)
|
formatador (0.3.0)
|
||||||
|
github_changelog_generator (1.16.4)
|
||||||
activesupport
|
activesupport
|
||||||
|
async (>= 1.25.0)
|
||||||
|
async-http-faraday
|
||||||
faraday-http-cache
|
faraday-http-cache
|
||||||
multi_json
|
multi_json
|
||||||
octokit (~> 4.6)
|
octokit (~> 4.6)
|
||||||
rainbow (>= 2.1)
|
rainbow (>= 2.2.1)
|
||||||
rake (>= 10.0)
|
rake (>= 10.0)
|
||||||
retriable (~> 2.1)
|
|
||||||
globalid (0.4.2)
|
globalid (0.4.2)
|
||||||
activesupport (>= 4.2.0)
|
activesupport (>= 4.2.0)
|
||||||
gmail_xoauth (0.4.2)
|
gmail_xoauth (0.4.2)
|
||||||
oauth (>= 0.3.6)
|
oauth (>= 0.3.6)
|
||||||
guard (2.15.0)
|
guard (2.17.0)
|
||||||
formatador (>= 0.2.4)
|
formatador (>= 0.2.4)
|
||||||
listen (>= 2.7, < 4.0)
|
listen (>= 2.7, < 4.0)
|
||||||
lumberjack (>= 1.0.12, < 2.0)
|
lumberjack (>= 1.0.12, < 2.0)
|
||||||
|
@ -249,94 +282,97 @@ GEM
|
||||||
guard-symlink (0.1.1)
|
guard-symlink (0.1.1)
|
||||||
guard
|
guard
|
||||||
guard-compat (~> 1.1)
|
guard-compat (~> 1.1)
|
||||||
hashdiff (0.3.8)
|
hashdiff (1.0.1)
|
||||||
hashie (3.6.0)
|
hashie (4.1.0)
|
||||||
hiredis (0.6.3)
|
hiredis (0.6.3)
|
||||||
htmlentities (4.3.4)
|
htmlentities (4.3.4)
|
||||||
http (3.3.0)
|
http (4.4.1)
|
||||||
addressable (~> 2.3)
|
addressable (~> 2.3)
|
||||||
http-cookie (~> 1.0)
|
http-cookie (~> 1.0)
|
||||||
http-form_data (~> 2.0)
|
http-form_data (~> 2.2)
|
||||||
http_parser.rb (~> 0.6.0)
|
http-parser (~> 1.2.0)
|
||||||
http-cookie (1.0.3)
|
http-accept (1.7.0)
|
||||||
|
http-cookie (1.0.4)
|
||||||
domain_name (~> 0.5)
|
domain_name (~> 0.5)
|
||||||
http-form_data (2.1.1)
|
http-form_data (2.3.0)
|
||||||
|
http-parser (1.2.3)
|
||||||
|
ffi-compiler (>= 1.0, < 2.0)
|
||||||
http_parser.rb (0.6.0)
|
http_parser.rb (0.6.0)
|
||||||
httpclient (2.8.3)
|
httpclient (2.8.3)
|
||||||
i18n (1.8.10)
|
i18n (1.8.10)
|
||||||
concurrent-ruby (~> 1.0)
|
concurrent-ruby (~> 1.0)
|
||||||
icalendar (2.5.3)
|
icalendar (2.7.1)
|
||||||
ice_cube (~> 0.16)
|
ice_cube (~> 0.16)
|
||||||
icalendar-recurrence (1.1.2)
|
icalendar-recurrence (1.1.3)
|
||||||
icalendar (~> 2.0)
|
icalendar (~> 2.0)
|
||||||
ice_cube (~> 0.13)
|
ice_cube (~> 0.16)
|
||||||
ice_cube (0.16.3)
|
ice_cube (0.16.3)
|
||||||
inflection (1.0.0)
|
inflection (1.0.0)
|
||||||
interception (0.5)
|
interception (0.5)
|
||||||
ipaddr (1.2.2)
|
ipaddr (1.2.2)
|
||||||
json (2.3.0)
|
json (2.5.1)
|
||||||
jwt (2.2.2)
|
jwt (2.2.3)
|
||||||
kgio (2.11.2)
|
kgio (2.11.4)
|
||||||
koala (3.0.0)
|
koala (3.0.0)
|
||||||
addressable
|
addressable
|
||||||
faraday
|
faraday
|
||||||
json (>= 1.8)
|
json (>= 1.8)
|
||||||
libv8 (7.3.492.27.1)
|
libv8 (8.4.255.0)
|
||||||
listen (3.1.5)
|
listen (3.5.1)
|
||||||
rb-fsevent (~> 0.9, >= 0.9.4)
|
rb-fsevent (~> 0.10, >= 0.10.3)
|
||||||
rb-inotify (~> 0.9, >= 0.9.7)
|
rb-inotify (~> 0.9, >= 0.9.10)
|
||||||
ruby_dep (~> 1.2)
|
|
||||||
little-plugger (1.1.4)
|
little-plugger (1.1.4)
|
||||||
logging (2.2.2)
|
logging (2.3.0)
|
||||||
little-plugger (~> 1.1)
|
little-plugger (~> 1.1)
|
||||||
multi_json (~> 1.10)
|
multi_json (~> 1.14)
|
||||||
loofah (2.10.0)
|
loofah (2.10.0)
|
||||||
crass (~> 1.0.2)
|
crass (~> 1.0.2)
|
||||||
nokogiri (>= 1.5.9)
|
nokogiri (>= 1.5.9)
|
||||||
lumberjack (1.0.13)
|
lumberjack (1.2.8)
|
||||||
marcel (1.0.1)
|
marcel (1.0.1)
|
||||||
memoizable (0.4.2)
|
memoizable (0.4.2)
|
||||||
thread_safe (~> 0.3, >= 0.3.1)
|
thread_safe (~> 0.3, >= 0.3.1)
|
||||||
method_source (0.9.2)
|
method_source (1.0.0)
|
||||||
mime-types (3.3.1)
|
mime-types (3.3.1)
|
||||||
mime-types-data (~> 3.2015)
|
mime-types-data (~> 3.2015)
|
||||||
mime-types-data (3.2020.1104)
|
mime-types-data (3.2021.0225)
|
||||||
mini_mime (1.1.0)
|
mini_mime (1.1.0)
|
||||||
mini_portile2 (2.5.3)
|
mini_portile2 (2.5.3)
|
||||||
mini_racer (0.2.9)
|
mini_racer (0.2.9)
|
||||||
libv8 (>= 6.9.411)
|
libv8 (>= 6.9.411)
|
||||||
minitest (5.14.4)
|
minitest (5.14.4)
|
||||||
msgpack (1.3.3)
|
msgpack (1.4.2)
|
||||||
multi_json (1.15.0)
|
multi_json (1.15.0)
|
||||||
multi_xml (0.6.0)
|
multi_xml (0.6.0)
|
||||||
multipart-post (2.1.1)
|
multipart-post (2.1.1)
|
||||||
mysql2 (0.5.3)
|
mysql2 (0.5.3)
|
||||||
naught (1.1.0)
|
naught (1.1.0)
|
||||||
nenv (0.3.0)
|
nenv (0.3.0)
|
||||||
nestful (1.1.3)
|
nestful (1.1.4)
|
||||||
net-ldap (0.16.1)
|
net-ldap (0.17.0)
|
||||||
netrc (0.11.0)
|
netrc (0.11.0)
|
||||||
nio4r (2.5.7)
|
nio4r (2.5.7)
|
||||||
nokogiri (1.11.7)
|
nokogiri (1.11.7)
|
||||||
mini_portile2 (~> 2.5.0)
|
mini_portile2 (~> 2.5.0)
|
||||||
racc (~> 1.4)
|
racc (~> 1.4)
|
||||||
nori (2.6.0)
|
nori (2.6.0)
|
||||||
notiffany (0.1.1)
|
notiffany (0.1.3)
|
||||||
nenv (~> 0.1)
|
nenv (~> 0.1)
|
||||||
shellany (~> 0.0)
|
shellany (~> 0.0)
|
||||||
oauth (0.5.6)
|
oauth (0.5.6)
|
||||||
oauth2 (1.4.4)
|
oauth2 (1.4.7)
|
||||||
faraday (>= 0.8, < 2.0)
|
faraday (>= 0.8, < 2.0)
|
||||||
jwt (>= 1.0, < 3.0)
|
jwt (>= 1.0, < 3.0)
|
||||||
multi_json (~> 1.3)
|
multi_json (~> 1.3)
|
||||||
multi_xml (~> 0.5)
|
multi_xml (~> 0.5)
|
||||||
rack (>= 1.2, < 3)
|
rack (>= 1.2, < 3)
|
||||||
octokit (4.13.0)
|
octokit (4.21.0)
|
||||||
|
faraday (>= 0.9)
|
||||||
sawyer (~> 0.8.0, >= 0.5.3)
|
sawyer (~> 0.8.0, >= 0.5.3)
|
||||||
omniauth (1.9.1)
|
omniauth (1.9.1)
|
||||||
hashie (>= 3.4.6)
|
hashie (>= 3.4.6)
|
||||||
rack (>= 1.6.2, < 3)
|
rack (>= 1.6.2, < 3)
|
||||||
omniauth-facebook (5.0.0)
|
omniauth-facebook (8.0.0)
|
||||||
omniauth-oauth2 (~> 1.2)
|
omniauth-oauth2 (~> 1.2)
|
||||||
omniauth-github (1.4.0)
|
omniauth-github (1.4.0)
|
||||||
omniauth (~> 1.5)
|
omniauth (~> 1.5)
|
||||||
|
@ -344,61 +380,69 @@ GEM
|
||||||
omniauth-gitlab (2.0.0)
|
omniauth-gitlab (2.0.0)
|
||||||
omniauth (~> 1.0)
|
omniauth (~> 1.0)
|
||||||
omniauth-oauth2 (~> 1.0)
|
omniauth-oauth2 (~> 1.0)
|
||||||
omniauth-google-oauth2 (0.6.1)
|
omniauth-google-oauth2 (0.8.2)
|
||||||
jwt (>= 2.0)
|
jwt (>= 2.0)
|
||||||
omniauth (>= 1.1.1)
|
oauth2 (~> 1.1)
|
||||||
omniauth-oauth2 (>= 1.5)
|
omniauth (~> 1.1)
|
||||||
|
omniauth-oauth2 (>= 1.6)
|
||||||
omniauth-linkedin-oauth2 (1.0.0)
|
omniauth-linkedin-oauth2 (1.0.0)
|
||||||
omniauth-oauth2
|
omniauth-oauth2
|
||||||
omniauth-microsoft-office365 (0.0.8)
|
omniauth-microsoft-office365 (0.0.8)
|
||||||
omniauth
|
omniauth
|
||||||
omniauth-oauth2
|
omniauth-oauth2
|
||||||
omniauth-oauth (1.1.0)
|
omniauth-oauth (1.2.0)
|
||||||
oauth
|
oauth
|
||||||
omniauth (~> 1.0)
|
omniauth (>= 1.0, < 3)
|
||||||
omniauth-oauth2 (1.7.0)
|
omniauth-oauth2 (1.7.1)
|
||||||
oauth2 (~> 1.4)
|
oauth2 (~> 1.4)
|
||||||
omniauth (~> 1.9)
|
omniauth (>= 1.9, < 3)
|
||||||
omniauth-rails_csrf_protection (0.1.2)
|
omniauth-rails_csrf_protection (0.1.2)
|
||||||
actionpack (>= 4.2)
|
actionpack (>= 4.2)
|
||||||
omniauth (>= 1.3.1)
|
omniauth (>= 1.3.1)
|
||||||
omniauth-saml (1.10.1)
|
omniauth-saml (1.10.3)
|
||||||
omniauth (~> 1.3, >= 1.3.2)
|
omniauth (~> 1.3, >= 1.3.2)
|
||||||
ruby-saml (~> 1.7)
|
ruby-saml (~> 1.9)
|
||||||
omniauth-twitter (1.4.0)
|
omniauth-twitter (1.4.0)
|
||||||
omniauth-oauth (~> 1.1)
|
omniauth-oauth (~> 1.1)
|
||||||
rack
|
rack
|
||||||
omniauth-weibo-oauth2 (0.5.2)
|
omniauth-weibo-oauth2 (0.5.2)
|
||||||
omniauth (~> 1.5)
|
omniauth (~> 1.5)
|
||||||
omniauth-oauth2 (>= 1.4.0)
|
omniauth-oauth2 (>= 1.4.0)
|
||||||
openssl (2.1.2)
|
openssl (2.2.0)
|
||||||
ipaddr
|
ipaddr
|
||||||
parallel (1.20.1)
|
parallel (1.20.1)
|
||||||
parser (3.0.1.1)
|
parser (3.0.1.1)
|
||||||
ast (~> 2.4.1)
|
ast (~> 2.4.1)
|
||||||
pg (0.21.0)
|
pg (0.21.0)
|
||||||
pluginator (1.5.0)
|
pluginator (1.5.0)
|
||||||
power_assert (1.1.4)
|
power_assert (2.0.0)
|
||||||
pre-commit (0.39.0)
|
pre-commit (0.39.0)
|
||||||
pluginator (~> 1.5)
|
pluginator (~> 1.5)
|
||||||
pry (0.12.2)
|
protocol-hpack (1.4.2)
|
||||||
coderay (~> 1.1.0)
|
protocol-http (0.22.4)
|
||||||
method_source (~> 0.9.0)
|
protocol-http1 (0.14.1)
|
||||||
|
protocol-http (~> 0.22)
|
||||||
|
protocol-http2 (0.14.2)
|
||||||
|
protocol-hpack (~> 1.4)
|
||||||
|
protocol-http (~> 0.18)
|
||||||
|
pry (0.14.1)
|
||||||
|
coderay (~> 1.1)
|
||||||
|
method_source (~> 1.0)
|
||||||
pry-rails (0.3.9)
|
pry-rails (0.3.9)
|
||||||
pry (>= 0.10.4)
|
pry (>= 0.10.4)
|
||||||
pry-remote (0.1.8)
|
pry-remote (0.1.8)
|
||||||
pry (~> 0.9)
|
pry (~> 0.9)
|
||||||
slop (~> 3.0)
|
slop (~> 3.0)
|
||||||
pry-rescue (1.5.0)
|
pry-rescue (1.5.2)
|
||||||
interception (>= 0.5)
|
interception (>= 0.5)
|
||||||
pry (>= 0.12.0)
|
pry (>= 0.12.0)
|
||||||
pry-stack_explorer (0.4.9.3)
|
pry-stack_explorer (0.6.1)
|
||||||
binding_of_caller (>= 0.7)
|
binding_of_caller (~> 1.0)
|
||||||
pry (>= 0.9.11)
|
pry (~> 0.13)
|
||||||
public_suffix (3.1.1)
|
public_suffix (4.0.6)
|
||||||
puma (4.3.8)
|
puma (4.3.8)
|
||||||
nio4r (~> 2.0)
|
nio4r (~> 2.0)
|
||||||
pundit (2.0.1)
|
pundit (2.1.0)
|
||||||
activesupport (>= 3.0.0)
|
activesupport (>= 3.0.0)
|
||||||
pundit-matchers (1.6.0)
|
pundit-matchers (1.6.0)
|
||||||
rspec-rails (>= 3.0.0)
|
rspec-rails (>= 3.0.0)
|
||||||
|
@ -423,10 +467,10 @@ GEM
|
||||||
bundler (>= 1.3.0)
|
bundler (>= 1.3.0)
|
||||||
railties (= 6.0.4)
|
railties (= 6.0.4)
|
||||||
sprockets-rails (>= 2.0.0)
|
sprockets-rails (>= 2.0.0)
|
||||||
rails-controller-testing (1.0.4)
|
rails-controller-testing (1.0.5)
|
||||||
actionpack (>= 5.0.1.x)
|
actionpack (>= 5.0.1.rc1)
|
||||||
actionview (>= 5.0.1.x)
|
actionview (>= 5.0.1.rc1)
|
||||||
activesupport (>= 5.0.1.x)
|
activesupport (>= 5.0.1.rc1)
|
||||||
rails-dom-testing (2.0.3)
|
rails-dom-testing (2.0.3)
|
||||||
activesupport (>= 4.2.0)
|
activesupport (>= 4.2.0)
|
||||||
nokogiri (>= 1.6)
|
nokogiri (>= 1.6)
|
||||||
|
@ -439,37 +483,37 @@ GEM
|
||||||
rake (>= 0.8.7)
|
rake (>= 0.8.7)
|
||||||
thor (>= 0.20.3, < 2.0)
|
thor (>= 0.20.3, < 2.0)
|
||||||
rainbow (3.0.0)
|
rainbow (3.0.0)
|
||||||
raindrops (0.19.0)
|
raindrops (0.19.2)
|
||||||
rake (12.3.3)
|
rake (13.0.3)
|
||||||
rb-fsevent (0.10.3)
|
rb-fsevent (0.11.0)
|
||||||
rb-inotify (0.10.0)
|
rb-inotify (0.10.1)
|
||||||
ffi (~> 1.0)
|
ffi (~> 1.0)
|
||||||
rchardet (1.8.0)
|
rchardet (1.8.0)
|
||||||
redis (4.2.5)
|
redis (4.2.5)
|
||||||
regexp_parser (1.8.2)
|
regexp_parser (2.1.1)
|
||||||
rest-client (2.0.2)
|
rest-client (2.1.0)
|
||||||
|
http-accept (>= 1.7.0, < 2.0)
|
||||||
http-cookie (>= 1.0.2, < 2.0)
|
http-cookie (>= 1.0.2, < 2.0)
|
||||||
mime-types (>= 1.16, < 4.0)
|
mime-types (>= 1.16, < 4.0)
|
||||||
netrc (~> 0.8)
|
netrc (~> 0.8)
|
||||||
retriable (2.1.0)
|
|
||||||
rexml (3.2.5)
|
rexml (3.2.5)
|
||||||
rspec-core (3.9.2)
|
rspec-core (3.10.1)
|
||||||
rspec-support (~> 3.9.3)
|
rspec-support (~> 3.10.0)
|
||||||
rspec-expectations (3.9.2)
|
rspec-expectations (3.10.1)
|
||||||
diff-lcs (>= 1.2.0, < 2.0)
|
diff-lcs (>= 1.2.0, < 2.0)
|
||||||
rspec-support (~> 3.9.0)
|
rspec-support (~> 3.10.0)
|
||||||
rspec-mocks (3.9.1)
|
rspec-mocks (3.10.2)
|
||||||
diff-lcs (>= 1.2.0, < 2.0)
|
diff-lcs (>= 1.2.0, < 2.0)
|
||||||
rspec-support (~> 3.9.0)
|
rspec-support (~> 3.10.0)
|
||||||
rspec-rails (3.9.1)
|
rspec-rails (5.0.1)
|
||||||
actionpack (>= 3.0)
|
actionpack (>= 5.2)
|
||||||
activesupport (>= 3.0)
|
activesupport (>= 5.2)
|
||||||
railties (>= 3.0)
|
railties (>= 5.2)
|
||||||
rspec-core (~> 3.9.0)
|
rspec-core (~> 3.10)
|
||||||
rspec-expectations (~> 3.9.0)
|
rspec-expectations (~> 3.10)
|
||||||
rspec-mocks (~> 3.9.0)
|
rspec-mocks (~> 3.10)
|
||||||
rspec-support (~> 3.9.0)
|
rspec-support (~> 3.10)
|
||||||
rspec-support (3.9.3)
|
rspec-support (3.10.2)
|
||||||
rszr (0.5.2)
|
rszr (0.5.2)
|
||||||
rubocop (1.16.0)
|
rubocop (1.16.0)
|
||||||
parallel (~> 1.10)
|
parallel (~> 1.10)
|
||||||
|
@ -482,6 +526,9 @@ GEM
|
||||||
unicode-display_width (>= 1.4.0, < 3.0)
|
unicode-display_width (>= 1.4.0, < 3.0)
|
||||||
rubocop-ast (1.7.0)
|
rubocop-ast (1.7.0)
|
||||||
parser (>= 3.0.1.1)
|
parser (>= 3.0.1.1)
|
||||||
|
rubocop-faker (1.1.0)
|
||||||
|
faker (>= 2.12.0)
|
||||||
|
rubocop (>= 0.82.0)
|
||||||
rubocop-performance (1.11.3)
|
rubocop-performance (1.11.3)
|
||||||
rubocop (>= 1.7.0, < 2.0)
|
rubocop (>= 1.7.0, < 2.0)
|
||||||
rubocop-ast (>= 0.4.0)
|
rubocop-ast (>= 0.4.0)
|
||||||
|
@ -493,40 +540,40 @@ GEM
|
||||||
rubocop (~> 1.0)
|
rubocop (~> 1.0)
|
||||||
rubocop-ast (>= 1.1.0)
|
rubocop-ast (>= 1.1.0)
|
||||||
ruby-progressbar (1.11.0)
|
ruby-progressbar (1.11.0)
|
||||||
ruby-saml (1.10.2)
|
ruby-saml (1.12.2)
|
||||||
nokogiri (>= 1.5.10)
|
nokogiri (>= 1.10.5)
|
||||||
ruby_dep (1.5.0)
|
rexml
|
||||||
rubyzip (1.3.0)
|
ruby2_keywords (0.0.4)
|
||||||
safe_yaml (1.0.5)
|
rubyzip (2.3.0)
|
||||||
sassc (2.0.1)
|
sassc (2.4.0)
|
||||||
ffi (~> 1.9)
|
ffi (~> 1.9)
|
||||||
rake
|
sassc-rails (2.1.2)
|
||||||
sassc-rails (2.1.1)
|
|
||||||
railties (>= 4.0.0)
|
railties (>= 4.0.0)
|
||||||
sassc (>= 2.0)
|
sassc (>= 2.0)
|
||||||
sprockets (> 3.0)
|
sprockets (> 3.0)
|
||||||
sprockets-rails
|
sprockets-rails
|
||||||
tilt
|
tilt
|
||||||
sawyer (0.8.1)
|
sawyer (0.8.2)
|
||||||
addressable (>= 2.3.5, < 2.6)
|
addressable (>= 2.3.5)
|
||||||
faraday (~> 0.8, < 1.0)
|
faraday (> 0.8, < 2.0)
|
||||||
selenium-webdriver (3.142.3)
|
selenium-webdriver (3.142.7)
|
||||||
childprocess (>= 0.5, < 2.0)
|
childprocess (>= 0.5, < 4.0)
|
||||||
rubyzip (~> 1.2, >= 1.2.2)
|
rubyzip (>= 1.2.2)
|
||||||
shellany (0.0.1)
|
shellany (0.0.1)
|
||||||
shoulda-matchers (4.0.1)
|
shoulda-matchers (4.5.1)
|
||||||
activesupport (>= 4.2.0)
|
activesupport (>= 4.2.0)
|
||||||
simple_oauth (0.3.1)
|
simple_oauth (0.3.1)
|
||||||
simplecov (0.16.1)
|
simplecov (0.21.2)
|
||||||
docile (~> 1.1)
|
docile (~> 1.1)
|
||||||
json (>= 1.8, < 3)
|
simplecov-html (~> 0.11)
|
||||||
simplecov-html (~> 0.10.0)
|
simplecov_json_formatter (~> 0.1)
|
||||||
simplecov-html (0.10.2)
|
simplecov-html (0.12.3)
|
||||||
simplecov-rcov (0.2.3)
|
simplecov-rcov (0.2.3)
|
||||||
simplecov (>= 0.4.1)
|
simplecov (>= 0.4.1)
|
||||||
slack-notifier (2.3.2)
|
simplecov_json_formatter (0.1.3)
|
||||||
|
slack-notifier (2.4.0)
|
||||||
slop (3.6.0)
|
slop (3.6.0)
|
||||||
spring (2.1.0)
|
spring (2.1.1)
|
||||||
spring-commands-rspec (1.0.4)
|
spring-commands-rspec (1.0.4)
|
||||||
spring (>= 0.9.1)
|
spring (>= 0.9.1)
|
||||||
spring-commands-testunit (1.0.1)
|
spring-commands-testunit (1.0.1)
|
||||||
|
@ -538,45 +585,48 @@ GEM
|
||||||
actionpack (>= 4.0)
|
actionpack (>= 4.0)
|
||||||
activesupport (>= 4.0)
|
activesupport (>= 4.0)
|
||||||
sprockets (>= 3.0.0)
|
sprockets (>= 3.0.0)
|
||||||
|
sync (0.5.0)
|
||||||
telegramAPI (1.4.2)
|
telegramAPI (1.4.2)
|
||||||
rest-client (~> 2.0, >= 2.0.2)
|
rest-client (~> 2.0, >= 2.0.2)
|
||||||
telephone_number (1.4.0)
|
telephone_number (1.4.11)
|
||||||
term-ansicolor (1.7.1)
|
term-ansicolor (1.7.1)
|
||||||
tins (~> 1.0)
|
tins (~> 1.0)
|
||||||
test-unit (3.3.3)
|
test-unit (3.4.4)
|
||||||
power_assert
|
power_assert
|
||||||
thor (1.1.0)
|
thor (1.1.0)
|
||||||
thread_safe (0.3.6)
|
thread_safe (0.3.6)
|
||||||
tilt (2.0.9)
|
tilt (2.0.10)
|
||||||
tins (1.20.2)
|
timers (4.3.3)
|
||||||
twilio-ruby (5.23.0)
|
tins (1.29.1)
|
||||||
faraday (~> 0.9)
|
sync
|
||||||
|
twilio-ruby (5.55.0)
|
||||||
|
faraday (>= 0.9, < 2.0)
|
||||||
jwt (>= 1.5, <= 2.5)
|
jwt (>= 1.5, <= 2.5)
|
||||||
nokogiri (>= 1.6, < 2.0)
|
nokogiri (>= 1.6, < 2.0)
|
||||||
tzinfo (1.2.9)
|
tzinfo (1.2.9)
|
||||||
thread_safe (~> 0.1)
|
thread_safe (~> 0.1)
|
||||||
uglifier (4.1.20)
|
uglifier (4.2.0)
|
||||||
execjs (>= 0.3.0, < 3)
|
execjs (>= 0.3.0, < 3)
|
||||||
unf (0.1.4)
|
unf (0.1.4)
|
||||||
unf_ext
|
unf_ext
|
||||||
unf_ext (0.0.7.5)
|
unf_ext (0.0.7.7)
|
||||||
unicode-display_width (2.0.0)
|
unicode-display_width (2.0.0)
|
||||||
unicorn (5.5.0)
|
unicorn (6.0.0)
|
||||||
kgio (~> 2.6)
|
kgio (~> 2.6)
|
||||||
raindrops (~> 0.7)
|
raindrops (~> 0.7)
|
||||||
valid_email2 (3.0.1)
|
valid_email2 (3.6.1)
|
||||||
activemodel (>= 3.2)
|
activemodel (>= 3.2)
|
||||||
mail (~> 2.5)
|
mail (~> 2.5)
|
||||||
vcr (4.0.0)
|
vcr (6.0.0)
|
||||||
viewpoint (1.1.0)
|
viewpoint (1.1.1)
|
||||||
httpclient
|
httpclient
|
||||||
logging
|
logging
|
||||||
nokogiri
|
nokogiri
|
||||||
rubyntlm
|
rubyntlm
|
||||||
webmock (3.5.1)
|
webmock (3.13.0)
|
||||||
addressable (>= 2.3.6)
|
addressable (>= 2.3.6)
|
||||||
crack (>= 0.3.2)
|
crack (>= 0.3.2)
|
||||||
hashdiff
|
hashdiff (>= 0.4.0, < 2.0.0)
|
||||||
websocket-driver (0.7.5)
|
websocket-driver (0.7.5)
|
||||||
websocket-extensions (>= 0.1.0)
|
websocket-extensions (>= 0.1.0)
|
||||||
websocket-extensions (0.1.5)
|
websocket-extensions (0.1.5)
|
||||||
|
@ -584,11 +634,11 @@ GEM
|
||||||
xpath (3.2.0)
|
xpath (3.2.0)
|
||||||
nokogiri (~> 1.8)
|
nokogiri (~> 1.8)
|
||||||
zeitwerk (2.4.2)
|
zeitwerk (2.4.2)
|
||||||
zendesk_api (1.19.0)
|
zendesk_api (1.30.0)
|
||||||
faraday (~> 0.9)
|
faraday (>= 0.9.0, < 2.0.0)
|
||||||
hashie (>= 3.5.2, < 4.0.0)
|
hashie (>= 3.5.2, < 5.0.0)
|
||||||
inflection
|
inflection
|
||||||
mime-types
|
mini_mime
|
||||||
multipart-post (~> 2.0)
|
multipart-post (~> 2.0)
|
||||||
|
|
||||||
PLATFORMS
|
PLATFORMS
|
||||||
|
@ -642,7 +692,7 @@ DEPENDENCIES
|
||||||
libv8
|
libv8
|
||||||
mail!
|
mail!
|
||||||
mime-types
|
mime-types
|
||||||
mini_racer
|
mini_racer (= 0.2.9)
|
||||||
mysql2
|
mysql2
|
||||||
net-ldap
|
net-ldap
|
||||||
oauth2
|
oauth2
|
||||||
|
@ -675,6 +725,7 @@ DEPENDENCIES
|
||||||
rspec-rails
|
rspec-rails
|
||||||
rszr (= 0.5.2)
|
rszr (= 0.5.2)
|
||||||
rubocop
|
rubocop
|
||||||
|
rubocop-faker
|
||||||
rubocop-performance
|
rubocop-performance
|
||||||
rubocop-rails
|
rubocop-rails
|
||||||
rubocop-rspec
|
rubocop-rspec
|
||||||
|
|
|
@ -53,26 +53,22 @@ class CommunicateTwitterJob < ApplicationJob
|
||||||
# fill article with tweet info
|
# fill article with tweet info
|
||||||
|
|
||||||
# direct message
|
# direct message
|
||||||
if tweet.is_a?(Hash)
|
if tweet.is_a?(Twitter::DirectMessage)
|
||||||
tweet_type = 'DirectMessage'
|
tweet_type = 'DirectMessage'
|
||||||
article.message_id = tweet[:event][:id].to_s
|
article.message_id = tweet.id.to_s
|
||||||
if tweet[:event] && tweet[:event][:type] == 'message_create'
|
|
||||||
#article.from = "@#{tweet.sender.screen_name}"
|
|
||||||
#article.to = "@#{tweet.recipient.screen_name}"
|
|
||||||
|
|
||||||
article.preferences['twitter'] = {
|
article.preferences['twitter'] = {
|
||||||
recipient_id: tweet[:event][:message_create][:target][:recipient_id],
|
recipient_id: tweet.recipient_id.to_s,
|
||||||
sender_id: tweet[:event][:message_create][:sender_id],
|
sender_id: tweet.sender_id.to_s,
|
||||||
}
|
}
|
||||||
|
|
||||||
article.preferences['links'] = [
|
article.preferences['links'] = [
|
||||||
{
|
{
|
||||||
url: TwitterSync::DM_URL_TEMPLATE % article.preferences[:twitter].slice(:recipient_id, :sender_id).values.map(&:to_i).sort.join('-'),
|
url: TwitterSync::DM_URL_TEMPLATE % article.preferences[:twitter].slice(:recipient_id, :sender_id).values.map(&:to_i).sort.join('-'),
|
||||||
target: '_blank',
|
target: '_blank',
|
||||||
name: 'on Twitter',
|
name: 'on Twitter',
|
||||||
},
|
},
|
||||||
]
|
]
|
||||||
end
|
|
||||||
|
|
||||||
# regular tweet
|
# regular tweet
|
||||||
elsif tweet.instance_of?(Twitter::Tweet)
|
elsif tweet.instance_of?(Twitter::Tweet)
|
||||||
|
|
|
@ -81,11 +81,11 @@ store new device for user if device not already known
|
||||||
end
|
end
|
||||||
|
|
||||||
# generate device name
|
# generate device name
|
||||||
if browser[:name] == 'Generic Browser'
|
if browser[:name] == 'Unknown Browser'
|
||||||
browser[:name] = user_agent
|
browser[:name] = user_agent
|
||||||
end
|
end
|
||||||
name = ''
|
name = ''
|
||||||
if browser[:plattform].present? && browser[:plattform] != 'Other'
|
if browser[:plattform].present? && browser[:plattform] != 'UnknownPlatform'
|
||||||
name = browser[:plattform]
|
name = browser[:plattform]
|
||||||
end
|
end
|
||||||
if browser[:name].present? && browser[:name] != 'Other'
|
if browser[:name].present? && browser[:name] != 'Other'
|
||||||
|
|
|
@ -32,7 +32,7 @@ class ExternalCredential::Twitter
|
||||||
request_token = consumer.get_request_token(oauth_callback: ExternalCredential.callback_url('twitter'))
|
request_token = consumer.get_request_token(oauth_callback: ExternalCredential.callback_url('twitter'))
|
||||||
rescue => e
|
rescue => e
|
||||||
case e.message
|
case e.message
|
||||||
when '401 Authorization Required'
|
when '401 Unauthorized'
|
||||||
raise "#{e.message} (Invalid credentials may be to blame.)"
|
raise "#{e.message} (Invalid credentials may be to blame.)"
|
||||||
when '403 Forbidden'
|
when '403 Forbidden'
|
||||||
raise "#{e.message} (Your app's callback URL configuration on developer.twitter.com may be to blame.)"
|
raise "#{e.message} (Your app's callback URL configuration on developer.twitter.com may be to blame.)"
|
||||||
|
|
|
@ -130,6 +130,14 @@ class TwitterSync
|
||||||
state = get_state(channel, tweet)
|
state = get_state(channel, tweet)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
if tweet.is_a?(Twitter::DirectMessage)
|
||||||
|
message = {
|
||||||
|
type: 'direct_message',
|
||||||
|
text: tweet.text,
|
||||||
|
}
|
||||||
|
state = get_state(channel, tweet)
|
||||||
|
end
|
||||||
|
|
||||||
if tweet.is_a?(Hash) && tweet['type'] == 'message_create'
|
if tweet.is_a?(Hash) && tweet['type'] == 'message_create'
|
||||||
message = {
|
message = {
|
||||||
type: 'direct_message',
|
type: 'direct_message',
|
||||||
|
@ -478,38 +486,17 @@ create a tweet or direct message from an article
|
||||||
=end
|
=end
|
||||||
|
|
||||||
def from_article(article)
|
def from_article(article)
|
||||||
|
|
||||||
tweet = nil
|
tweet = nil
|
||||||
case article[:type]
|
case article[:type]
|
||||||
when 'twitter direct-message'
|
when 'twitter direct-message'
|
||||||
|
|
||||||
Rails.logger.debug { "Create twitter direct message from article to '#{article[:to]}'..." }
|
Rails.logger.debug { "Create twitter direct message from article to '#{article[:to]}'..." }
|
||||||
|
|
||||||
# tweet = @client.create_direct_message(
|
|
||||||
# article[:to],
|
|
||||||
# article[:body],
|
|
||||||
# {}
|
|
||||||
# )
|
|
||||||
article[:to].delete!('@')
|
article[:to].delete!('@')
|
||||||
authorization = Authorization.find_by(provider: 'twitter', username: article[:to])
|
authorization = Authorization.find_by(provider: 'twitter', username: article[:to])
|
||||||
raise "Unable to lookup user_id for @#{article[:to]}" if !authorization
|
raise "Unable to lookup user_id for @#{article[:to]}" if !authorization
|
||||||
|
|
||||||
data = {
|
tweet = @client.create_direct_message(authorization.uid.to_i, article[:body])
|
||||||
event: {
|
|
||||||
type: 'message_create',
|
|
||||||
message_create: {
|
|
||||||
target: {
|
|
||||||
recipient_id: authorization.uid,
|
|
||||||
},
|
|
||||||
message_data: {
|
|
||||||
text: article[:body],
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
tweet = Twitter::REST::Request.new(@client, :json_post, '/1.1/direct_messages/events/new.json', data).perform
|
|
||||||
|
|
||||||
when 'twitter status'
|
when 'twitter status'
|
||||||
|
|
||||||
Rails.logger.debug { 'Create tweet from article...' }
|
Rails.logger.debug { 'Create tweet from article...' }
|
||||||
|
|
|
@ -8,7 +8,7 @@ FactoryBot.define do
|
||||||
|
|
||||||
factory :twitter_authorization do
|
factory :twitter_authorization do
|
||||||
provider { 'twitter' }
|
provider { 'twitter' }
|
||||||
uid { Faker::Number.number(10) }
|
uid { Faker::Number.number(digits: 10) }
|
||||||
username { Faker::Internet.username }
|
username { Faker::Internet.username }
|
||||||
user_id { user.id }
|
user_id { user.id }
|
||||||
end
|
end
|
||||||
|
|
|
@ -20,7 +20,7 @@ FactoryBot.define do
|
||||||
controller: 'external_credentials',
|
controller: 'external_credentials',
|
||||||
action: 'app_verify',
|
action: 'app_verify',
|
||||||
provider: 'twitter',
|
provider: 'twitter',
|
||||||
webhook_id: Faker::Number.number(19),
|
webhook_id: Faker::Number.number(digits: 19),
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
FactoryBot.define do
|
FactoryBot.define do
|
||||||
factory 'knowledge_base/answer/translation/content', aliases: %i[knowledge_base_answer_translation_content] do
|
factory 'knowledge_base/answer/translation/content', aliases: %i[knowledge_base_answer_translation_content] do
|
||||||
translation { nil }
|
translation { nil }
|
||||||
body { Faker::Lorem.paragraph(3) }
|
body { Faker::Lorem.paragraph(sentence_count: 3) }
|
||||||
|
|
||||||
before(:create) do |content|
|
before(:create) do |content|
|
||||||
if content.translation.nil?
|
if content.translation.nil?
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
FactoryBot.define do
|
FactoryBot.define do
|
||||||
factory :text_module do
|
factory :text_module do
|
||||||
name { "text module #{Faker::Number.unique.number(3)}" }
|
name { "text module #{Faker::Number.unique.number(digits: 3)}" }
|
||||||
keywords { Faker::Superhero.prefix }
|
keywords { Faker::Superhero.prefix }
|
||||||
content { Faker::Lorem.sentence }
|
content { Faker::Lorem.sentence }
|
||||||
updated_by_id { 1 }
|
updated_by_id { 1 }
|
||||||
|
|
|
@ -84,7 +84,7 @@ FactoryBot.define do
|
||||||
sender_name { 'Agent' }
|
sender_name { 'Agent' }
|
||||||
|
|
||||||
trait :reply do
|
trait :reply do
|
||||||
in_reply_to { Faker::Number.number(19) }
|
in_reply_to { Faker::Number.number(digits: 19) }
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -99,18 +99,18 @@ FactoryBot.define do
|
||||||
trait :pending_delivery do
|
trait :pending_delivery do
|
||||||
transient do
|
transient do
|
||||||
recipient { create(:twitter_authorization) }
|
recipient { create(:twitter_authorization) }
|
||||||
sender_id { Faker::Number.number(10) }
|
sender_id { Faker::Number.number(digits: 10) }
|
||||||
end
|
end
|
||||||
|
|
||||||
from { ticket.owner.fullname }
|
from { ticket.owner.fullname }
|
||||||
to { recipient.username }
|
to { recipient.username }
|
||||||
in_reply_to { Faker::Number.number(19) }
|
in_reply_to { Faker::Number.number(digits: 19) }
|
||||||
content_type { 'text/plain' }
|
content_type { 'text/plain' }
|
||||||
end
|
end
|
||||||
|
|
||||||
trait :delivered do
|
trait :delivered do
|
||||||
pending_delivery
|
pending_delivery
|
||||||
message_id { Faker::Number.number(19) }
|
message_id { Faker::Number.number(digits: 19) }
|
||||||
preferences do
|
preferences do
|
||||||
{
|
{
|
||||||
delivery_retry: 1,
|
delivery_retry: 1,
|
||||||
|
|
|
@ -7,7 +7,7 @@ require 'rails_helper'
|
||||||
# Individual import steps are tested in spec/lib/sequencer.
|
# Individual import steps are tested in spec/lib/sequencer.
|
||||||
#
|
#
|
||||||
|
|
||||||
RSpec.describe 'Freshdesk import', type: :integration, use_vcr: true, db_strategy: :reset, required_envs: %w[IMPORT_FRESHDESK_ENDPOINT IMPORT_FRESHDESK_ENDPOINT_KEY] do # rubocop:disable RSpec/DescribeClass
|
RSpec.describe 'Freshdesk import', type: :integration, use_vcr: true, db_strategy: :reset, required_envs: %w[IMPORT_FRESHDESK_ENDPOINT IMPORT_FRESHDESK_ENDPOINT_KEY IMPORT_FRESHDESK_ENDPOINT_SUBDOMAIN] do # rubocop:disable RSpec/DescribeClass
|
||||||
|
|
||||||
before do
|
before do
|
||||||
|
|
||||||
|
@ -24,20 +24,8 @@ RSpec.describe 'Freshdesk import', type: :integration, use_vcr: true, db_strateg
|
||||||
Setting.set('system_init_done', false)
|
Setting.set('system_init_done', false)
|
||||||
|
|
||||||
VCR.configure do |c|
|
VCR.configure do |c|
|
||||||
%w[
|
|
||||||
IMPORT_FRESHDESK_ENDPOINT
|
|
||||||
IMPORT_FRESHDESK_ENDPOINT_KEY
|
|
||||||
IMPORT_FRESHDESK_ENDPOINT_SUBDOMAIN
|
|
||||||
].each do |env_key|
|
|
||||||
c.filter_sensitive_data("<#{env_key}>") { ENV[env_key] }
|
|
||||||
end
|
|
||||||
|
|
||||||
# The API key is used only inside the base64 encoded Basic Auth string, so mask that as well.
|
# The API key is used only inside the base64 encoded Basic Auth string, so mask that as well.
|
||||||
%w[
|
c.filter_sensitive_data('<IMPORT_FRESHDESK_ENDPOINT_BASIC_AUTH>') { Base64.encode64( "#{ENV['IMPORT_FRESHDESK_ENDPOINT_KEY']}:X" ).chomp }
|
||||||
IMPORT_FRESHDESK_ENDPOINT_BASIC_AUTH
|
|
||||||
].each do |env_key|
|
|
||||||
c.filter_sensitive_data("<#{env_key}>") { Base64.encode64( "#{ENV['IMPORT_FRESHDESK_ENDPOINT_KEY']}:X" ).chomp }
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|
||||||
VCR.use_cassette 'freshdesk_import' do
|
VCR.use_cassette 'freshdesk_import' do
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
require 'rails_helper'
|
require 'rails_helper'
|
||||||
|
|
||||||
RSpec.describe CommunicateTwitterJob, type: :job do
|
RSpec.describe CommunicateTwitterJob, type: :job, required_envs: %w[TWITTER_CONSUMER_KEY TWITTER_CONSUMER_SECRET TWITTER_OAUTH_TOKEN TWITTER_OAUTH_TOKEN_SECRET TWITTER_USER_ID TWITTER_DM_RECIPIENT] do
|
||||||
|
|
||||||
let(:article) { create(:twitter_article, **(try(:factory_options) || {})) }
|
let(:article) { create(:twitter_article, **(try(:factory_options) || {})) }
|
||||||
|
|
||||||
|
@ -18,7 +18,7 @@ RSpec.describe CommunicateTwitterJob, type: :job do
|
||||||
'in_reply_to_user_id' => nil,
|
'in_reply_to_user_id' => nil,
|
||||||
'place' => {},
|
'place' => {},
|
||||||
'retweet_count' => 0,
|
'retweet_count' => 0,
|
||||||
'source' => '<a href="https://zammad.com/" rel="nofollow">zammad</a>',
|
'source' => '<a href="https://zammad.com" rel="nofollow">Zammad Integration Test</a>',
|
||||||
'favorited' => false,
|
'favorited' => false,
|
||||||
'truncated' => false,
|
'truncated' => false,
|
||||||
}
|
}
|
||||||
|
@ -26,7 +26,7 @@ RSpec.describe CommunicateTwitterJob, type: :job do
|
||||||
|
|
||||||
let(:links_array) do
|
let(:links_array) do
|
||||||
[{
|
[{
|
||||||
url: 'https://twitter.com/_/status/1244937367435108360',
|
url: 'https://twitter.com/_/status/1410147100403417088',
|
||||||
target: '_blank',
|
target: '_blank',
|
||||||
name: 'on Twitter',
|
name: 'on Twitter',
|
||||||
}]
|
}]
|
||||||
|
@ -47,7 +47,7 @@ RSpec.describe CommunicateTwitterJob, type: :job do
|
||||||
|
|
||||||
it 'updates the article with tweet attributes' do
|
it 'updates the article with tweet attributes' do
|
||||||
expect { described_class.perform_now(article.id) }
|
expect { described_class.perform_now(article.id) }
|
||||||
.to change { article.reload.message_id }.to('1244937367435108360')
|
.to change { article.reload.message_id }.to('1410147100403417088')
|
||||||
.and change { article.reload.preferences[:twitter] }.to(hash_including(tweet_attributes))
|
.and change { article.reload.preferences[:twitter] }.to(hash_including(tweet_attributes))
|
||||||
.and change { article.reload.preferences[:links] }.to(links_array)
|
.and change { article.reload.preferences[:links] }.to(links_array)
|
||||||
end
|
end
|
||||||
|
@ -60,41 +60,29 @@ RSpec.describe CommunicateTwitterJob, type: :job do
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'with a user mention' do
|
context 'with a user mention' do
|
||||||
let(:factory_options) { { body: '@twitter @twitterlive Don’t mind me, just testing the API' } }
|
let(:factory_options) { { body: '@zammadtesting Don’t mind me, just testing the API' } }
|
||||||
|
|
||||||
it 'updates the article with tweet recipients' do
|
it 'updates the article with tweet recipients' do
|
||||||
expect { described_class.perform_now(article.id) }
|
expect { described_class.perform_now(article.id) }
|
||||||
.to change { article.reload.to }.to('@Twitter @TwitterLive')
|
.to change { article.reload.to }.to('@ZammadTesting')
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'for DMs' do
|
context 'for DMs' do
|
||||||
let(:article) { create(:twitter_dm_article, :pending_delivery, recipient: recipient, body: 'Please ignore this message.') }
|
let(:article) { create(:twitter_dm_article, :pending_delivery, recipient: recipient, body: 'Please ignore this message.') }
|
||||||
let(:recipient) { create(:twitter_authorization, uid: '2688148651', username: 'AirbnbHelp') }
|
let(:recipient) { create(:twitter_authorization, uid: ENV.fetch('TWITTER_DM_RECIPIENT', '1234567890')) }
|
||||||
|
|
||||||
let(:request_body) do
|
|
||||||
{
|
|
||||||
event: {
|
|
||||||
type: 'message_create',
|
|
||||||
message_create: {
|
|
||||||
target: { recipient_id: recipient.uid },
|
|
||||||
message_data: { text: article.body }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}.to_json
|
|
||||||
end
|
|
||||||
|
|
||||||
let(:dm_attributes) do
|
let(:dm_attributes) do
|
||||||
{
|
{
|
||||||
'recipient_id' => recipient.uid,
|
'recipient_id' => recipient.uid,
|
||||||
'sender_id' => '1205290247124217856',
|
'sender_id' => ENV.fetch('TWITTER_USER_ID', '0987654321'),
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
let(:links_array) do
|
let(:links_array) do
|
||||||
[{
|
[{
|
||||||
url: "https://twitter.com/messages/#{recipient.uid}-1205290247124217856",
|
url: "https://twitter.com/messages/#{recipient.uid}-1408314039470538752",
|
||||||
target: '_blank',
|
target: '_blank',
|
||||||
name: 'on Twitter',
|
name: 'on Twitter',
|
||||||
}]
|
}]
|
||||||
|
@ -110,12 +98,11 @@ RSpec.describe CommunicateTwitterJob, type: :job do
|
||||||
|
|
||||||
expect(WebMock)
|
expect(WebMock)
|
||||||
.to have_requested(:post, 'https://api.twitter.com/1.1/direct_messages/events/new.json')
|
.to have_requested(:post, 'https://api.twitter.com/1.1/direct_messages/events/new.json')
|
||||||
.with(body: request_body)
|
|
||||||
end
|
end
|
||||||
|
|
||||||
it 'updates the article with DM attributes' do
|
it 'updates the article with DM attributes' do
|
||||||
expect { described_class.perform_now(article.id) }
|
expect { described_class.perform_now(article.id) }
|
||||||
.to change { article.reload.message_id }.to('1244953398509617156')
|
.to change { article.reload.message_id }.to('1410145389026676741')
|
||||||
.and change { article.reload.preferences[:twitter] }.to(hash_including(dm_attributes))
|
.and change { article.reload.preferences[:twitter] }.to(hash_including(dm_attributes))
|
||||||
.and change { article.reload.preferences[:links] }.to(links_array)
|
.and change { article.reload.preferences[:links] }.to(links_array)
|
||||||
end
|
end
|
||||||
|
|
|
@ -10,13 +10,13 @@ RSpec.describe Issue2715FixBrokenTwitterUrlsJob, type: :job do
|
||||||
|
|
||||||
let(:tweet_preferences) do
|
let(:tweet_preferences) do
|
||||||
# NOTE: Faker 2.0+ has deprecated the `#number(20)` syntax in favor of `#number(digits: 20)`.
|
# NOTE: Faker 2.0+ has deprecated the `#number(20)` syntax in favor of `#number(digits: 20)`.
|
||||||
{ links: [{ url: "https://twitter.com/statuses/#{Faker::Number.number(20)}" }] }
|
{ links: [{ url: "https://twitter.com/statuses/#{Faker::Number.number(digits: 20)}" }] }
|
||||||
end
|
end
|
||||||
|
|
||||||
let(:dm_preferences) do
|
let(:dm_preferences) do
|
||||||
{
|
{
|
||||||
# NOTE: Faker 2.0+ has deprecated the `#number(20)` syntax in favor of `#number(digits: 20)`.
|
# NOTE: Faker 2.0+ has deprecated the `#number(20)` syntax in favor of `#number(digits: 20)`.
|
||||||
links: [{ url: "https://twitter.com/statuses/#{Faker::Number.number(20)}" }],
|
links: [{ url: "https://twitter.com/statuses/#{Faker::Number.number(digits: 20)}" }],
|
||||||
twitter: {
|
twitter: {
|
||||||
recipient_id: recipient_id,
|
recipient_id: recipient_id,
|
||||||
sender_id: sender_id,
|
sender_id: sender_id,
|
||||||
|
|
|
@ -2,33 +2,9 @@
|
||||||
|
|
||||||
require 'rails_helper'
|
require 'rails_helper'
|
||||||
|
|
||||||
RSpec.describe Facebook, use_vcr: true, current_user_id: 1, required_envs: %w[FACEBOOK_ADMIN_ACCESS_TOKEN] do
|
RSpec.describe Facebook, use_vcr: true, current_user_id: 1, required_envs: %w[FACEBOOK_ADMIN_USER_ID FACEBOOK_ADMIN_FIRSTNAME FACEBOOK_ADMIN_LASTNAME FACEBOOK_ADMIN_ACCESS_TOKEN FACEBOOK_PAGE_1_ACCCESS_TOKEN FACEBOOK_PAGE_1_ID FACEBOOK_PAGE_1_NAME FACEBOOK_PAGE_1_POST_ID FACEBOOK_PAGE_1_POST_MESSAGE FACEBOOK_PAGE_1_POST_COMMENT_ID FACEBOOK_PAGE_2_ACCCESS_TOKEN FACEBOOK_PAGE_2_ID FACEBOOK_PAGE_2_NAME FACEBOOK_CUSTOMER_ID FACEBOOK_CUSTOMER_FIRSTNAME FACEBOOK_CUSTOMER_LASTNAME] do
|
||||||
|
|
||||||
before do
|
before do
|
||||||
VCR.configure do |c|
|
|
||||||
|
|
||||||
%w[
|
|
||||||
FACEBOOK_ADMIN_USER_ID
|
|
||||||
FACEBOOK_ADMIN_FIRSTNAME
|
|
||||||
FACEBOOK_ADMIN_LASTNAME
|
|
||||||
FACEBOOK_ADMIN_ACCESS_TOKEN
|
|
||||||
FACEBOOK_PAGE_1_ACCCESS_TOKEN
|
|
||||||
FACEBOOK_PAGE_1_ID
|
|
||||||
FACEBOOK_PAGE_1_NAME
|
|
||||||
FACEBOOK_PAGE_1_POST_ID
|
|
||||||
FACEBOOK_PAGE_1_POST_MESSAGE
|
|
||||||
FACEBOOK_PAGE_1_POST_COMMENT_ID
|
|
||||||
FACEBOOK_PAGE_2_ACCCESS_TOKEN
|
|
||||||
FACEBOOK_PAGE_2_ID
|
|
||||||
FACEBOOK_PAGE_2_NAME
|
|
||||||
FACEBOOK_CUSTOMER_ID
|
|
||||||
FACEBOOK_CUSTOMER_FIRSTNAME
|
|
||||||
FACEBOOK_CUSTOMER_LASTNAME
|
|
||||||
].each do |env_key|
|
|
||||||
c.filter_sensitive_data("<#{env_key}>") { ENV[env_key] }
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
travel_to '2021-02-13 13:37 +0100'
|
travel_to '2021-02-13 13:37 +0100'
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -2,30 +2,9 @@
|
||||||
|
|
||||||
require 'rails_helper'
|
require 'rails_helper'
|
||||||
|
|
||||||
RSpec.describe Channel::Driver::Facebook, use_vcr: true, required_envs: %w[FACEBOOK_ADMIN_ACCESS_TOKEN] do
|
RSpec.describe Channel::Driver::Facebook, use_vcr: true, required_envs: %w[FACEBOOK_ADMIN_USER_ID FACEBOOK_ADMIN_FIRSTNAME FACEBOOK_ADMIN_LASTNAME FACEBOOK_PAGE_1_ACCCESS_TOKEN FACEBOOK_PAGE_1_ID FACEBOOK_PAGE_1_NAME FACEBOOK_PAGE_1_POST_ID FACEBOOK_PAGE_1_POST_COMMENT_ID FACEBOOK_PAGE_2_ACCCESS_TOKEN FACEBOOK_PAGE_2_ID FACEBOOK_PAGE_2_NAME FACEBOOK_CUSTOMER_ID FACEBOOK_CUSTOMER_FIRSTNAME FACEBOOK_CUSTOMER_LASTNAME] do
|
||||||
|
|
||||||
before do
|
before do
|
||||||
VCR.configure do |c|
|
|
||||||
%w[
|
|
||||||
FACEBOOK_ADMIN_USER_ID
|
|
||||||
FACEBOOK_ADMIN_FIRSTNAME
|
|
||||||
FACEBOOK_ADMIN_LASTNAME
|
|
||||||
FACEBOOK_PAGE_1_ACCCESS_TOKEN
|
|
||||||
FACEBOOK_PAGE_1_ID
|
|
||||||
FACEBOOK_PAGE_1_NAME
|
|
||||||
FACEBOOK_PAGE_1_POST_ID
|
|
||||||
FACEBOOK_PAGE_1_POST_COMMENT_ID
|
|
||||||
FACEBOOK_PAGE_2_ACCCESS_TOKEN
|
|
||||||
FACEBOOK_PAGE_2_ID
|
|
||||||
FACEBOOK_PAGE_2_NAME
|
|
||||||
FACEBOOK_CUSTOMER_ID
|
|
||||||
FACEBOOK_CUSTOMER_FIRSTNAME
|
|
||||||
FACEBOOK_CUSTOMER_LASTNAME
|
|
||||||
].each do |env_key|
|
|
||||||
c.filter_sensitive_data("<#{env_key}>") { ENV[env_key] }
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
travel_to '2021-02-13 13:37 +0100'
|
travel_to '2021-02-13 13:37 +0100'
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
require 'rails_helper'
|
require 'rails_helper'
|
||||||
|
|
||||||
RSpec.describe Channel::Driver::Twitter do
|
RSpec.describe Channel::Driver::Twitter, required_envs: %w[TWITTER_CONSUMER_KEY TWITTER_CONSUMER_SECRET TWITTER_OAUTH_TOKEN TWITTER_OAUTH_TOKEN_SECRET TWITTER_DM_RECIPIENT TWITTER_USER_ID] do
|
||||||
subject(:channel) { create(:twitter_channel) }
|
subject(:channel) { create(:twitter_channel) }
|
||||||
|
|
||||||
let(:external_credential) { ExternalCredential.find(channel.options[:auth][:external_credential_id]) }
|
let(:external_credential) { ExternalCredential.find(channel.options[:auth][:external_credential_id]) }
|
||||||
|
@ -704,101 +704,41 @@ RSpec.describe Channel::Driver::Twitter do
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
describe 'Twitter API authentication' do
|
|
||||||
let(:consumer_credentials) do
|
|
||||||
{
|
|
||||||
consumer_key: external_credential.credentials[:consumer_key],
|
|
||||||
consumer_secret: external_credential.credentials[:consumer_secret],
|
|
||||||
}
|
|
||||||
end
|
|
||||||
|
|
||||||
let(:oauth_credentials) do
|
|
||||||
{
|
|
||||||
access_token: channel.options[:auth][:oauth_token],
|
|
||||||
access_token_secret: channel.options[:auth][:oauth_token_secret],
|
|
||||||
}
|
|
||||||
end
|
|
||||||
|
|
||||||
it 'uses consumer key/secret stored on ExternalCredential' do
|
|
||||||
expect(Twitter::REST::Client)
|
|
||||||
.to receive(:new).with(hash_including(consumer_credentials))
|
|
||||||
.and_call_original
|
|
||||||
|
|
||||||
channel.deliver(delivery_payload)
|
|
||||||
end
|
|
||||||
|
|
||||||
it 'uses OAuth token/secret stored on #options hash' do
|
|
||||||
expect(Twitter::REST::Client)
|
|
||||||
.to receive(:new).with(hash_including(oauth_credentials))
|
|
||||||
.and_call_original
|
|
||||||
|
|
||||||
channel.deliver(delivery_payload)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
describe 'Twitter API activity' do
|
describe 'Twitter API activity' do
|
||||||
it 'creates a tweet/DM via the API' do
|
|
||||||
channel.deliver(delivery_payload)
|
|
||||||
|
|
||||||
expect(WebMock)
|
|
||||||
.to have_requested(:post, "https://api.twitter.com/1.1#{endpoint}")
|
|
||||||
.with(body: request_body)
|
|
||||||
end
|
|
||||||
|
|
||||||
it 'returns the created tweet/DM' do
|
it 'returns the created tweet/DM' do
|
||||||
expect(channel.deliver(delivery_payload)).to match(return_value)
|
expect(channel.deliver(delivery_payload)).to be_a(return_value)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'for tweets' do
|
context 'for tweets' do
|
||||||
let!(:outgoing_tweet) { create(:twitter_article) }
|
let!(:outgoing_tweet) { create(:twitter_article) }
|
||||||
let(:endpoint) { '/statuses/update.json' }
|
|
||||||
let(:request_body) { <<~BODY.chomp }
|
|
||||||
in_reply_to_status_id&status=#{URI.encode_www_form_component(outgoing_tweet.body)}
|
|
||||||
BODY
|
|
||||||
let(:return_value) { Twitter::Tweet }
|
let(:return_value) { Twitter::Tweet }
|
||||||
|
|
||||||
include_examples 'for #send'
|
include_examples 'for #send'
|
||||||
|
|
||||||
context 'in a thread' do
|
context 'in a thread' do
|
||||||
let!(:outgoing_tweet) { create(:twitter_article, :reply) }
|
let!(:outgoing_tweet) { create(:twitter_article, :reply) }
|
||||||
let(:request_body) { <<~BODY.chomp }
|
|
||||||
in_reply_to_status_id=#{outgoing_tweet.in_reply_to}&status=#{URI.encode_www_form_component(outgoing_tweet.body)}
|
|
||||||
BODY
|
|
||||||
|
|
||||||
it 'creates a tweet via the API' do
|
it 'creates a tweet via the API' do
|
||||||
channel.deliver(delivery_payload)
|
expect { channel.deliver(delivery_payload) }.to not_raise_error
|
||||||
|
|
||||||
expect(WebMock)
|
|
||||||
.to have_requested(:post, "https://api.twitter.com/1.1#{endpoint}")
|
|
||||||
.with(body: request_body)
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'containing an asterisk (workaround for sferik/twitter #677)' do
|
context 'containing an asterisk (workaround for sferik/twitter #677)' do
|
||||||
let!(:outgoing_tweet) { create(:twitter_article, body: 'foo * bar') }
|
let!(:outgoing_tweet) { create(:twitter_article, body: 'foo * bar') }
|
||||||
let(:request_body) { <<~BODY.chomp }
|
|
||||||
in_reply_to_status_id&status=#{URI.encode_www_form_component('foo * bar')}
|
|
||||||
BODY
|
|
||||||
|
|
||||||
it 'converts it to a full-width asterisk (U+FF0A)' do
|
it 'converts it to a full-width asterisk (U+FF0A)' do
|
||||||
channel.deliver(delivery_payload)
|
expect { channel.deliver(delivery_payload) }.to not_raise_error
|
||||||
|
|
||||||
expect(WebMock)
|
|
||||||
.to have_requested(:post, "https://api.twitter.com/1.1#{endpoint}")
|
|
||||||
.with(body: request_body)
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'for DMs' do
|
context 'for DMs' do
|
||||||
let!(:outgoing_tweet) { create(:twitter_dm_article, :pending_delivery) }
|
let(:recipient) { create(:twitter_authorization, uid: ENV.fetch('TWITTER_DM_RECIPIENT', '1234567890')) }
|
||||||
let(:endpoint) { '/direct_messages/events/new.json' }
|
let!(:outgoing_tweet) { create(:twitter_dm_article, :pending_delivery, recipient: recipient) }
|
||||||
let(:request_body) { <<~BODY.chomp }
|
let(:return_value) { Twitter::DirectMessage }
|
||||||
{"event":{"type":"message_create","message_create":{"target":{"recipient_id":"#{Authorization.last.uid}"},"message_data":{"text":"#{outgoing_tweet.body}"}}}}
|
|
||||||
BODY
|
|
||||||
let(:return_value) { { event: hash_including(type: 'message_create') } }
|
|
||||||
|
|
||||||
include_examples 'for #send'
|
include_examples 'for #send'
|
||||||
end
|
end
|
||||||
|
@ -830,38 +770,6 @@ RSpec.describe Channel::Driver::Twitter do
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
describe 'Twitter API authentication' do
|
|
||||||
let(:consumer_credentials) do
|
|
||||||
{
|
|
||||||
consumer_key: external_credential.credentials[:consumer_key],
|
|
||||||
consumer_secret: external_credential.credentials[:consumer_secret],
|
|
||||||
}
|
|
||||||
end
|
|
||||||
|
|
||||||
let(:oauth_credentials) do
|
|
||||||
{
|
|
||||||
access_token: channel.options[:auth][:oauth_token],
|
|
||||||
access_token_secret: channel.options[:auth][:oauth_token_secret],
|
|
||||||
}
|
|
||||||
end
|
|
||||||
|
|
||||||
it 'uses consumer key/secret stored on ExternalCredential' do
|
|
||||||
expect(Twitter::REST::Client)
|
|
||||||
.to receive(:new).with(hash_including(consumer_credentials))
|
|
||||||
.and_call_original
|
|
||||||
|
|
||||||
channel.fetch
|
|
||||||
end
|
|
||||||
|
|
||||||
it 'uses OAuth token/secret stored on #options hash' do
|
|
||||||
expect(Twitter::REST::Client)
|
|
||||||
.to receive(:new).with(hash_including(oauth_credentials))
|
|
||||||
.and_call_original
|
|
||||||
|
|
||||||
channel.fetch
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
describe 'Twitter API activity' do
|
describe 'Twitter API activity' do
|
||||||
it 'sets successful status attributes' do
|
it 'sets successful status attributes' do
|
||||||
expect { channel.fetch }
|
expect { channel.fetch }
|
||||||
|
@ -921,8 +829,8 @@ RSpec.describe Channel::Driver::Twitter do
|
||||||
|
|
||||||
it 'creates an article for each recent tweet/retweet' do
|
it 'creates an article for each recent tweet/retweet' do
|
||||||
expect { channel.fetch }
|
expect { channel.fetch }
|
||||||
.to change { Ticket.where('title LIKE ?', 'RT @%').count }.by(1)
|
.to change { Ticket.where('title LIKE ?', 'RT @%').count }.by(49)
|
||||||
.and change(Ticket, :count).by(3)
|
.and change(Ticket, :count).by(73)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -123,12 +123,12 @@ RSpec.describe Cti::Log do
|
||||||
'queue' => '49123457',
|
'queue' => '49123457',
|
||||||
'from' => '49123456',
|
'from' => '49123456',
|
||||||
'from_comment' => nil,
|
'from_comment' => nil,
|
||||||
'from_pretty' => '49123456',
|
'from_pretty' => '+49 491 23456',
|
||||||
'start_at' => nil,
|
'start_at' => nil,
|
||||||
'end_at' => nil,
|
'end_at' => nil,
|
||||||
'to' => '49123457',
|
'to' => '49123457',
|
||||||
'to_comment' => 'user 1',
|
'to_comment' => 'user 1',
|
||||||
'to_pretty' => '49123457'
|
'to_pretty' => '+49 491 23457'
|
||||||
)
|
)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -349,7 +349,7 @@ RSpec.describe Ticket::Article, type: :model do
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
describe 'Auto-setting of outgoing Twitter article attributes (via bg jobs):', use_vcr: :with_oauth_headers do
|
describe 'Auto-setting of outgoing Twitter article attributes (via bg jobs):', use_vcr: :with_oauth_headers, required_envs: %w[TWITTER_CONSUMER_KEY TWITTER_CONSUMER_SECRET TWITTER_OAUTH_TOKEN TWITTER_OAUTH_TOKEN_SECRET] do
|
||||||
subject!(:twitter_article) { create(:twitter_article, sender_name: 'Agent') }
|
subject!(:twitter_article) { create(:twitter_article, sender_name: 'Agent') }
|
||||||
|
|
||||||
let(:channel) { Channel.find(twitter_article.ticket.preferences[:channel_id]) }
|
let(:channel) { Channel.find(twitter_article.ticket.preferences[:channel_id]) }
|
||||||
|
@ -358,7 +358,7 @@ RSpec.describe Ticket::Article, type: :model do
|
||||||
it 'sets #from to sender’s Twitter handle' do
|
it 'sets #from to sender’s Twitter handle' do
|
||||||
expect(&run_bg_jobs)
|
expect(&run_bg_jobs)
|
||||||
.to change { twitter_article.reload.from }
|
.to change { twitter_article.reload.from }
|
||||||
.to('@example')
|
.to('@ZammadTesting')
|
||||||
end
|
end
|
||||||
|
|
||||||
it 'sets #to to recipient’s Twitter handle' do
|
it 'sets #to to recipient’s Twitter handle' do
|
||||||
|
@ -370,7 +370,7 @@ RSpec.describe Ticket::Article, type: :model do
|
||||||
it 'sets #message_id to tweet ID (https://twitter.com/_/status/<id>)' do
|
it 'sets #message_id to tweet ID (https://twitter.com/_/status/<id>)' do
|
||||||
expect(&run_bg_jobs)
|
expect(&run_bg_jobs)
|
||||||
.to change { twitter_article.reload.message_id }
|
.to change { twitter_article.reload.message_id }
|
||||||
.to('1069382411899817990')
|
.to('1410130368498372609')
|
||||||
end
|
end
|
||||||
|
|
||||||
it 'sets #preferences with tweet metadata' do
|
it 'sets #preferences with tweet metadata' do
|
||||||
|
|
|
@ -179,7 +179,7 @@ RSpec.describe 'External Credentials', type: :request do
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'for Twitter', :use_vcr do
|
context 'for Twitter', :use_vcr, required_envs: %w[TWITTER_CONSUMER_KEY TWITTER_CONSUMER_SECRET TWITTER_OAUTH_TOKEN TWITTER_OAUTH_TOKEN_SECRET TWITTER_DEV_ENVIRONMENT] do
|
||||||
shared_context 'for callback URL configuration' do
|
shared_context 'for callback URL configuration' do
|
||||||
# NOTE: When recording a new VCR cassette for these tests,
|
# NOTE: When recording a new VCR cassette for these tests,
|
||||||
# the URL below must match the callback URL
|
# the URL below must match the callback URL
|
||||||
|
@ -227,7 +227,7 @@ RSpec.describe 'External Credentials', type: :request do
|
||||||
include_examples 'for failure cases' do
|
include_examples 'for failure cases' do
|
||||||
let(:status) { :ok }
|
let(:status) { :ok }
|
||||||
let(:error_message) { <<~ERR.chomp }
|
let(:error_message) { <<~ERR.chomp }
|
||||||
401 Authorization Required (Invalid credentials may be to blame.)
|
401 Unauthorized (Invalid credentials may be to blame.)
|
||||||
ERR
|
ERR
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -262,7 +262,7 @@ RSpec.describe 'External Credentials', type: :request do
|
||||||
include_examples 'for failure cases' do
|
include_examples 'for failure cases' do
|
||||||
let(:status) { :ok }
|
let(:status) { :ok }
|
||||||
let(:error_message) { <<~ERR.chomp }
|
let(:error_message) { <<~ERR.chomp }
|
||||||
Dev Environment Label invalid. Please use an existing one ["zammad"], or create a new one.
|
Dev Environment Label invalid. Please use an existing one ["#{ENV.fetch('TWITTER_DEV_ENVIRONMENT', 'Integration')}"], or create a new one.
|
||||||
ERR
|
ERR
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -348,7 +348,7 @@ RSpec.describe 'External Credentials', type: :request do
|
||||||
include_examples 'for failure cases' do
|
include_examples 'for failure cases' do
|
||||||
let(:status) { :internal_server_error }
|
let(:status) { :internal_server_error }
|
||||||
let(:error_message) { <<~ERR.chomp }
|
let(:error_message) { <<~ERR.chomp }
|
||||||
401 Authorization Required (Invalid credentials may be to blame.)
|
401 Unauthorized (Invalid credentials may be to blame.)
|
||||||
ERR
|
ERR
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -3,3 +3,4 @@
|
||||||
require 'deprecation_toolkit/rspec'
|
require 'deprecation_toolkit/rspec'
|
||||||
|
|
||||||
DeprecationToolkit::Configuration.test_runner = :rspec
|
DeprecationToolkit::Configuration.test_runner = :rspec
|
||||||
|
# DeprecationToolkit::Configuration.warnings_treated_as_deprecation = [ %r{deprecat}i ]
|
||||||
|
|
|
@ -91,7 +91,7 @@ module ZammadSpecSupportRequest
|
||||||
|
|
||||||
add_headers('Authorization' => credentials)
|
add_headers('Authorization' => credentials)
|
||||||
when :browser
|
when :browser
|
||||||
post '/api/v1/signin', params: { username: login, password: password, fingerprint: Faker::Number.number(9) }
|
post '/api/v1/signin', params: { username: login, password: password, fingerprint: Faker::Number.number(digits: 9) }
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -5,9 +5,16 @@ RSpec.configure do |config|
|
||||||
config.around(:each, :required_envs) do |example|
|
config.around(:each, :required_envs) do |example|
|
||||||
example.metadata[:required_envs].each do |secret|
|
example.metadata[:required_envs].each do |secret|
|
||||||
if ENV[secret].blank?
|
if ENV[secret].blank?
|
||||||
raise "This test requires the ENV variables [#{required_envs.join(', ')}], but #{secret} was not found."
|
raise "This test requires the ENV variables [#{example.metadata[:required_envs].join(', ')}], but #{secret} was not found."
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
VCR.configure do |c|
|
||||||
|
example.metadata[:required_envs].each do |env_key|
|
||||||
|
c.filter_sensitive_data("<#{env_key}>") { ENV[env_key] }
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
example.run
|
example.run
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -76,9 +76,21 @@ RSpec.configure do |config|
|
||||||
config.around(:each, use_vcr: true) do |example|
|
config.around(:each, use_vcr: true) do |example|
|
||||||
vcr_options = Array(example.metadata[:use_vcr])
|
vcr_options = Array(example.metadata[:use_vcr])
|
||||||
|
|
||||||
spec_path = Pathname.new(example.file_path).realpath
|
spec_path = Pathname.new(example.file_path).realpath
|
||||||
cassette_path = spec_path.relative_path_from(Rails.root.join('spec')).sub(%r{_spec\.rb$}, '')
|
cassette_path = spec_path.relative_path_from(Rails.root.join('spec')).sub(%r{_spec\.rb$}, '')
|
||||||
cassette_name = "#{example.example_group.description} #{example.description}".gsub(%r{[^0-9A-Za-z.\-]+}, '_').downcase
|
cassette_name = "#{example.metadata[:example_group][:full_description]}/#{example.description}".gsub(%r{[^0-9A-Za-z\-]+}, '_').downcase
|
||||||
|
|
||||||
|
# handle file name limit of 255 chars
|
||||||
|
if cassette_name.length > 253
|
||||||
|
hexdigest_cassette_name = Digest::SHA256.hexdigest(cassette_name)
|
||||||
|
|
||||||
|
shortened_casset_name = "#{cassette_name.first(30)}-#{cassette_name.last(30)}-#{hexdigest_cassette_name}"
|
||||||
|
|
||||||
|
Rails.logger.info "Detected too long VCR filename '#{cassette_name}' (#{cassette_name.length}) and therefore converted it to '#{shortened_casset_name}'"
|
||||||
|
|
||||||
|
cassette_name = shortened_casset_name
|
||||||
|
end
|
||||||
|
|
||||||
request_profile = [
|
request_profile = [
|
||||||
:method,
|
:method,
|
||||||
:uri,
|
:uri,
|
||||||
|
|
|
@ -18,7 +18,7 @@ RSpec.describe 'Manage > Channels > Twitter', :use_vcr, type: :system do
|
||||||
fill_in 'Twitter Consumer Secret *', with: 'some_secret', exact: true
|
fill_in 'Twitter Consumer Secret *', with: 'some_secret', exact: true
|
||||||
click_on 'Submit'
|
click_on 'Submit'
|
||||||
|
|
||||||
expect(page).to have_css('.modal .alert', text: '401 Authorization Required')
|
expect(page).to have_css('.modal .alert', text: '401 Unauthorized (Invalid credentials may be to blame.)')
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -36,7 +36,7 @@ RSpec.describe 'Manage > Channels > Twitter', :use_vcr, type: :system do
|
||||||
fill_in 'Twitter Dev environment label *', with: 'some_env', exact: true
|
fill_in 'Twitter Dev environment label *', with: 'some_env', exact: true
|
||||||
click_on 'Submit'
|
click_on 'Submit'
|
||||||
|
|
||||||
expect(page).to have_css('.modal .alert', text: '401 Authorization Required')
|
expect(page).to have_css('.modal .alert', text: '401 Unauthorized (Invalid credentials may be to blame.)')
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -30,7 +30,7 @@ users: !ruby/hash:ActiveSupport::HashWithIndifferentAccess
|
||||||
followers_count: 1
|
followers_count: 1
|
||||||
friends_count: 1
|
friends_count: 1
|
||||||
statuses_count: 2
|
statuses_count: 2
|
||||||
profile_image_url: http://abs.twimg.com/sticky/default_profile_images/default_profile_normal.png
|
profile_image_url: https://pbs.twimg.com/profile_images/1408343046731845632/K56uhLP2_400x400.png
|
||||||
profile_image_url_https: https://abs.twimg.com/sticky/default_profile_images/default_profile_normal.png
|
profile_image_url_https: https://abs.twimg.com/sticky/default_profile_images/default_profile_normal.png
|
||||||
'2975699229': !ruby/hash:ActiveSupport::HashWithIndifferentAccess
|
'2975699229': !ruby/hash:ActiveSupport::HashWithIndifferentAccess
|
||||||
id: '2975699229'
|
id: '2975699229'
|
||||||
|
|
|
@ -30,7 +30,7 @@ users: !ruby/hash:ActiveSupport::HashWithIndifferentAccess
|
||||||
followers_count: 0
|
followers_count: 0
|
||||||
friends_count: 1
|
friends_count: 1
|
||||||
statuses_count: 2
|
statuses_count: 2
|
||||||
profile_image_url: http://abs.twimg.com/sticky/default_profile_images/default_profile_normal.png
|
profile_image_url: https://pbs.twimg.com/profile_images/1408343046731845632/K56uhLP2_400x400.png
|
||||||
profile_image_url_https: https://abs.twimg.com/sticky/default_profile_images/default_profile_normal.png
|
profile_image_url_https: https://abs.twimg.com/sticky/default_profile_images/default_profile_normal.png
|
||||||
'2975699229': !ruby/hash:ActiveSupport::HashWithIndifferentAccess
|
'2975699229': !ruby/hash:ActiveSupport::HashWithIndifferentAccess
|
||||||
id: '2975699229'
|
id: '2975699229'
|
||||||
|
|
|
@ -77,7 +77,7 @@ users: !ruby/hash:ActiveSupport::HashWithIndifferentAccess
|
||||||
followers_count: 0
|
followers_count: 0
|
||||||
friends_count: 1
|
friends_count: 1
|
||||||
statuses_count: 8
|
statuses_count: 8
|
||||||
profile_image_url: http://abs.twimg.com/sticky/default_profile_images/default_profile_normal.png
|
profile_image_url: https://pbs.twimg.com/profile_images/1408343046731845632/K56uhLP2_400x400.png
|
||||||
profile_image_url_https: https://abs.twimg.com/sticky/default_profile_images/default_profile_normal.png
|
profile_image_url_https: https://abs.twimg.com/sticky/default_profile_images/default_profile_normal.png
|
||||||
'2975699229': !ruby/hash:ActiveSupport::HashWithIndifferentAccess
|
'2975699229': !ruby/hash:ActiveSupport::HashWithIndifferentAccess
|
||||||
id: '2975699229'
|
id: '2975699229'
|
||||||
|
|
|
@ -37,7 +37,7 @@ users: !ruby/hash:ActiveSupport::HashWithIndifferentAccess
|
||||||
followers_count: 0
|
followers_count: 0
|
||||||
friends_count: 1
|
friends_count: 1
|
||||||
statuses_count: 4
|
statuses_count: 4
|
||||||
profile_image_url: http://abs.twimg.com/sticky/default_profile_images/default_profile_normal.png
|
profile_image_url: https://pbs.twimg.com/profile_images/1408343046731845632/K56uhLP2_400x400.png
|
||||||
profile_image_url_https: https://abs.twimg.com/sticky/default_profile_images/default_profile_normal.png
|
profile_image_url_https: https://abs.twimg.com/sticky/default_profile_images/default_profile_normal.png
|
||||||
'2975699229': !ruby/hash:ActiveSupport::HashWithIndifferentAccess
|
'2975699229': !ruby/hash:ActiveSupport::HashWithIndifferentAccess
|
||||||
id: '2975699229'
|
id: '2975699229'
|
||||||
|
|
|
@ -51,7 +51,7 @@ users: !ruby/hash:ActiveSupport::HashWithIndifferentAccess
|
||||||
followers_count: 1
|
followers_count: 1
|
||||||
friends_count: 1
|
friends_count: 1
|
||||||
statuses_count: 2
|
statuses_count: 2
|
||||||
profile_image_url: http://abs.twimg.com/sticky/default_profile_images/default_profile_normal.png
|
profile_image_url: https://pbs.twimg.com/profile_images/1408343046731845632/K56uhLP2_400x400.png
|
||||||
profile_image_url_https: https://abs.twimg.com/sticky/default_profile_images/default_profile_normal.png
|
profile_image_url_https: https://abs.twimg.com/sticky/default_profile_images/default_profile_normal.png
|
||||||
controller: channels_twitter
|
controller: channels_twitter
|
||||||
action: webhook_incoming
|
action: webhook_incoming
|
||||||
|
|
|
@ -20,7 +20,7 @@ users: !ruby/hash:ActiveSupport::HashWithIndifferentAccess
|
||||||
followers_count: 1
|
followers_count: 1
|
||||||
friends_count: 1
|
friends_count: 1
|
||||||
statuses_count: 2
|
statuses_count: 2
|
||||||
profile_image_url: http://abs.twimg.com/sticky/default_profile_images/default_profile_normal.png
|
profile_image_url: https://pbs.twimg.com/profile_images/1408343046731845632/K56uhLP2_400x400.png
|
||||||
profile_image_url_https: https://abs.twimg.com/sticky/default_profile_images/default_profile_normal.png
|
profile_image_url_https: https://abs.twimg.com/sticky/default_profile_images/default_profile_normal.png
|
||||||
'2975699229': !ruby/hash:ActiveSupport::HashWithIndifferentAccess
|
'2975699229': !ruby/hash:ActiveSupport::HashWithIndifferentAccess
|
||||||
id: '2975699229'
|
id: '2975699229'
|
||||||
|
|
|
@ -21,7 +21,7 @@ users: !ruby/hash:ActiveSupport::HashWithIndifferentAccess
|
||||||
followers_count: 1
|
followers_count: 1
|
||||||
friends_count: 1
|
friends_count: 1
|
||||||
statuses_count: 2
|
statuses_count: 2
|
||||||
profile_image_url: http://abs.twimg.com/sticky/default_profile_images/default_profile_normal.png
|
profile_image_url: https://pbs.twimg.com/profile_images/1408343046731845632/K56uhLP2_400x400.png
|
||||||
profile_image_url_https: https://abs.twimg.com/sticky/default_profile_images/default_profile_normal.png
|
profile_image_url_https: https://abs.twimg.com/sticky/default_profile_images/default_profile_normal.png
|
||||||
'2975699229': !ruby/hash:ActiveSupport::HashWithIndifferentAccess
|
'2975699229': !ruby/hash:ActiveSupport::HashWithIndifferentAccess
|
||||||
id: '2975699229'
|
id: '2975699229'
|
||||||
|
|
|
@ -31,7 +31,7 @@ follow_events:
|
||||||
time_zone: ''
|
time_zone: ''
|
||||||
geo_enabled: false
|
geo_enabled: false
|
||||||
verified: false
|
verified: false
|
||||||
profile_image_url: http://abs.twimg.com/sticky/default_profile_images/default_profile_normal.png
|
profile_image_url: https://pbs.twimg.com/profile_images/1408343046731845632/K56uhLP2_400x400.png
|
||||||
following: false
|
following: false
|
||||||
profile_image_url_https: https://abs.twimg.com/sticky/default_profile_images/default_profile_normal.png
|
profile_image_url_https: https://abs.twimg.com/sticky/default_profile_images/default_profile_normal.png
|
||||||
profile_background_tile: false
|
profile_background_tile: false
|
||||||
|
|
|
@ -31,7 +31,7 @@ follow_events:
|
||||||
time_zone: ''
|
time_zone: ''
|
||||||
geo_enabled: false
|
geo_enabled: false
|
||||||
verified: false
|
verified: false
|
||||||
profile_image_url: http://abs.twimg.com/sticky/default_profile_images/default_profile_normal.png
|
profile_image_url: https://pbs.twimg.com/profile_images/1408343046731845632/K56uhLP2_400x400.png
|
||||||
following: false
|
following: false
|
||||||
profile_image_url_https: https://abs.twimg.com/sticky/default_profile_images/default_profile_normal.png
|
profile_image_url_https: https://abs.twimg.com/sticky/default_profile_images/default_profile_normal.png
|
||||||
profile_background_tile: false
|
profile_background_tile: false
|
||||||
|
|
|
@ -49,7 +49,7 @@ tweet_create_events:
|
||||||
profile_sidebar_fill_color: DDEEF6
|
profile_sidebar_fill_color: DDEEF6
|
||||||
profile_text_color: '333333'
|
profile_text_color: '333333'
|
||||||
profile_use_background_image: true
|
profile_use_background_image: true
|
||||||
profile_image_url: http://abs.twimg.com/sticky/default_profile_images/default_profile_normal.png
|
profile_image_url: https://pbs.twimg.com/profile_images/1408343046731845632/K56uhLP2_400x400.png
|
||||||
profile_image_url_https: https://abs.twimg.com/sticky/default_profile_images/default_profile_normal.png
|
profile_image_url_https: https://abs.twimg.com/sticky/default_profile_images/default_profile_normal.png
|
||||||
default_profile: true
|
default_profile: true
|
||||||
default_profile_image: false
|
default_profile_image: false
|
||||||
|
|
|
@ -46,7 +46,7 @@ tweet_create_events:
|
||||||
profile_sidebar_fill_color: DDEEF6
|
profile_sidebar_fill_color: DDEEF6
|
||||||
profile_text_color: '333333'
|
profile_text_color: '333333'
|
||||||
profile_use_background_image: true
|
profile_use_background_image: true
|
||||||
profile_image_url: http://abs.twimg.com/sticky/default_profile_images/default_profile_normal.png
|
profile_image_url: https://pbs.twimg.com/profile_images/1408343046731845632/K56uhLP2_400x400.png
|
||||||
profile_image_url_https: https://abs.twimg.com/sticky/default_profile_images/default_profile_normal.png
|
profile_image_url_https: https://abs.twimg.com/sticky/default_profile_images/default_profile_normal.png
|
||||||
default_profile: true
|
default_profile: true
|
||||||
default_profile_image: false
|
default_profile_image: false
|
||||||
|
|
|
@ -46,7 +46,7 @@ tweet_create_events:
|
||||||
profile_sidebar_fill_color: DDEEF6
|
profile_sidebar_fill_color: DDEEF6
|
||||||
profile_text_color: '333333'
|
profile_text_color: '333333'
|
||||||
profile_use_background_image: true
|
profile_use_background_image: true
|
||||||
profile_image_url: http://abs.twimg.com/sticky/default_profile_images/default_profile_normal.png
|
profile_image_url: https://pbs.twimg.com/profile_images/1408343046731845632/K56uhLP2_400x400.png
|
||||||
profile_image_url_https: https://abs.twimg.com/sticky/default_profile_images/default_profile_normal.png
|
profile_image_url_https: https://abs.twimg.com/sticky/default_profile_images/default_profile_normal.png
|
||||||
default_profile: true
|
default_profile: true
|
||||||
default_profile_image: false
|
default_profile_image: false
|
||||||
|
|
|
@ -48,7 +48,7 @@ tweet_create_events:
|
||||||
profile_sidebar_fill_color: DDEEF6
|
profile_sidebar_fill_color: DDEEF6
|
||||||
profile_text_color: '333333'
|
profile_text_color: '333333'
|
||||||
profile_use_background_image: true
|
profile_use_background_image: true
|
||||||
profile_image_url: http://abs.twimg.com/sticky/default_profile_images/default_profile_normal.png
|
profile_image_url: https://pbs.twimg.com/profile_images/1408343046731845632/K56uhLP2_400x400.png
|
||||||
profile_image_url_https: https://abs.twimg.com/sticky/default_profile_images/default_profile_normal.png
|
profile_image_url_https: https://abs.twimg.com/sticky/default_profile_images/default_profile_normal.png
|
||||||
default_profile: true
|
default_profile: true
|
||||||
default_profile_image: false
|
default_profile_image: false
|
||||||
|
|
|
@ -46,7 +46,7 @@ tweet_create_events:
|
||||||
profile_sidebar_fill_color: DDEEF6
|
profile_sidebar_fill_color: DDEEF6
|
||||||
profile_text_color: '333333'
|
profile_text_color: '333333'
|
||||||
profile_use_background_image: true
|
profile_use_background_image: true
|
||||||
profile_image_url: http://abs.twimg.com/sticky/default_profile_images/default_profile_normal.png
|
profile_image_url: https://pbs.twimg.com/profile_images/1408343046731845632/K56uhLP2_400x400.png
|
||||||
profile_image_url_https: https://abs.twimg.com/sticky/default_profile_images/default_profile_normal.png
|
profile_image_url_https: https://abs.twimg.com/sticky/default_profile_images/default_profile_normal.png
|
||||||
default_profile: true
|
default_profile: true
|
||||||
default_profile_image: false
|
default_profile_image: false
|
||||||
|
|
|
@ -49,7 +49,7 @@ tweet_create_events:
|
||||||
profile_sidebar_fill_color: DDEEF6
|
profile_sidebar_fill_color: DDEEF6
|
||||||
profile_text_color: '333333'
|
profile_text_color: '333333'
|
||||||
profile_use_background_image: true
|
profile_use_background_image: true
|
||||||
profile_image_url: http://abs.twimg.com/sticky/default_profile_images/default_profile_normal.png
|
profile_image_url: https://pbs.twimg.com/profile_images/1408343046731845632/K56uhLP2_400x400.png
|
||||||
profile_image_url_https: https://abs.twimg.com/sticky/default_profile_images/default_profile_normal.png
|
profile_image_url_https: https://abs.twimg.com/sticky/default_profile_images/default_profile_normal.png
|
||||||
default_profile: true
|
default_profile: true
|
||||||
default_profile_image: false
|
default_profile_image: false
|
||||||
|
|
|
@ -46,7 +46,7 @@ tweet_create_events:
|
||||||
profile_sidebar_fill_color: DDEEF6
|
profile_sidebar_fill_color: DDEEF6
|
||||||
profile_text_color: '333333'
|
profile_text_color: '333333'
|
||||||
profile_use_background_image: true
|
profile_use_background_image: true
|
||||||
profile_image_url: http://abs.twimg.com/sticky/default_profile_images/default_profile_normal.png
|
profile_image_url: https://pbs.twimg.com/profile_images/1408343046731845632/K56uhLP2_400x400.png
|
||||||
profile_image_url_https: https://abs.twimg.com/sticky/default_profile_images/default_profile_normal.png
|
profile_image_url_https: https://abs.twimg.com/sticky/default_profile_images/default_profile_normal.png
|
||||||
default_profile: true
|
default_profile: true
|
||||||
default_profile_image: false
|
default_profile_image: false
|
||||||
|
|
|
@ -1,84 +0,0 @@
|
||||||
---
|
|
||||||
http_interactions:
|
|
||||||
- request:
|
|
||||||
method: post
|
|
||||||
uri: https://api.twitter.com/1.1/statuses/update.json
|
|
||||||
body:
|
|
||||||
encoding: UTF-8
|
|
||||||
string: in_reply_to_status_id&status=Consequatur+deserunt+sapiente+rerum.
|
|
||||||
headers:
|
|
||||||
User-Agent:
|
|
||||||
- TwitterRubyGem/6.2.0
|
|
||||||
Authorization:
|
|
||||||
- OAuth oauth_consumer_key="REDACTED", oauth_nonce="c5c00913ad671a7bc4dd721564fa1ddb",
|
|
||||||
oauth_signature="RAol4gCi%2FtCzZDvdXB%2FMzAsVIBY%3D", oauth_signature_method="HMAC-SHA1",
|
|
||||||
oauth_timestamp="1585658007", oauth_token="REDACTED",
|
|
||||||
oauth_version="1.0"
|
|
||||||
Connection:
|
|
||||||
- close
|
|
||||||
Content-Type:
|
|
||||||
- application/x-www-form-urlencoded
|
|
||||||
Host:
|
|
||||||
- api.twitter.com
|
|
||||||
response:
|
|
||||||
status:
|
|
||||||
code: 200
|
|
||||||
message: OK
|
|
||||||
headers:
|
|
||||||
Cache-Control:
|
|
||||||
- no-cache, no-store, must-revalidate, pre-check=0, post-check=0
|
|
||||||
Connection:
|
|
||||||
- close
|
|
||||||
Content-Disposition:
|
|
||||||
- attachment; filename=json.json
|
|
||||||
Content-Length:
|
|
||||||
- '1893'
|
|
||||||
Content-Type:
|
|
||||||
- application/json;charset=utf-8
|
|
||||||
Date:
|
|
||||||
- Tue, 31 Mar 2020 12:33:27 GMT
|
|
||||||
Expires:
|
|
||||||
- Tue, 31 Mar 1981 05:00:00 GMT
|
|
||||||
Last-Modified:
|
|
||||||
- Tue, 31 Mar 2020 12:33:27 GMT
|
|
||||||
Pragma:
|
|
||||||
- no-cache
|
|
||||||
Server:
|
|
||||||
- tsa_m
|
|
||||||
Set-Cookie:
|
|
||||||
- guest_id=v1%3A158565800758345505; Max-Age=63072000; Expires=Thu, 31 Mar 2022
|
|
||||||
12:33:27 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
|
|
||||||
- lang=en; Path=/
|
|
||||||
- personalization_id="v1_JWzIkRlgfSAhdmWPMCfNQw=="; Max-Age=63072000; Expires=Thu,
|
|
||||||
31 Mar 2022 12:33:27 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
|
|
||||||
Status:
|
|
||||||
- 200 OK
|
|
||||||
Strict-Transport-Security:
|
|
||||||
- max-age=631138519
|
|
||||||
X-Access-Level:
|
|
||||||
- read-write-directmessages
|
|
||||||
X-Connection-Hash:
|
|
||||||
- 7b19dfd8d697ce9c159a74d199c390d6
|
|
||||||
X-Content-Type-Options:
|
|
||||||
- nosniff
|
|
||||||
X-Frame-Options:
|
|
||||||
- SAMEORIGIN
|
|
||||||
X-Response-Time:
|
|
||||||
- '153'
|
|
||||||
X-Transaction:
|
|
||||||
- '009b8a42003fa36c'
|
|
||||||
X-Tsa-Request-Body-Time:
|
|
||||||
- '0'
|
|
||||||
X-Twitter-Response-Tags:
|
|
||||||
- BouncerCompliant
|
|
||||||
X-Xss-Protection:
|
|
||||||
- '0'
|
|
||||||
body:
|
|
||||||
encoding: UTF-8
|
|
||||||
string: '{"created_at":"Tue Mar 31 12:33:27 +0000 2020","id":1244966034336968704,"id_str":"1244966034336968704","text":"Consequatur
|
|
||||||
deserunt sapiente rerum.","truncated":false,"entities":{"hashtags":[],"symbols":[],"user_mentions":[],"urls":[]},"source":"\u003ca
|
|
||||||
href=\"https:\/\/zammad.com\/\" rel=\"nofollow\"\u003ezammad\u003c\/a\u003e","in_reply_to_status_id":null,"in_reply_to_status_id_str":null,"in_reply_to_user_id":null,"in_reply_to_user_id_str":null,"in_reply_to_screen_name":null,"user":{"id":1205290247124217856,"id_str":"1205290247124217856","name":"pennbrooke","screen_name":"pennbrooke1","location":"","description":"","url":null,"entities":{"description":{"urls":[]}},"protected":false,"followers_count":0,"friends_count":1,"listed_count":0,"created_at":"Fri
|
|
||||||
Dec 13 00:56:10 +0000 2019","favourites_count":0,"utc_offset":null,"time_zone":null,"geo_enabled":false,"verified":false,"statuses_count":25,"lang":null,"contributors_enabled":false,"is_translator":false,"is_translation_enabled":false,"profile_background_color":"F5F8FA","profile_background_image_url":null,"profile_background_image_url_https":null,"profile_background_tile":false,"profile_image_url":"http:\/\/abs.twimg.com\/sticky\/default_profile_images\/default_profile_normal.png","profile_image_url_https":"https:\/\/abs.twimg.com\/sticky\/default_profile_images\/default_profile_normal.png","profile_link_color":"1DA1F2","profile_sidebar_border_color":"C0DEED","profile_sidebar_fill_color":"DDEEF6","profile_text_color":"333333","profile_use_background_image":true,"has_extended_profile":false,"default_profile":true,"default_profile_image":true,"following":false,"follow_request_sent":false,"notifications":false,"translator_type":"none"},"geo":null,"coordinates":null,"place":null,"contributors":null,"is_quote_status":false,"retweet_count":0,"favorite_count":0,"favorited":false,"retweeted":false,"lang":"de"}'
|
|
||||||
http_version:
|
|
||||||
recorded_at: Tue, 31 Mar 2020 12:33:27 GMT
|
|
||||||
recorded_with: VCR 4.0.0
|
|
|
@ -0,0 +1,80 @@
|
||||||
|
---
|
||||||
|
http_interactions:
|
||||||
|
- request:
|
||||||
|
method: post
|
||||||
|
uri: https://api.twitter.com/1.1/statuses/update.json
|
||||||
|
body:
|
||||||
|
encoding: UTF-8
|
||||||
|
string: in_reply_to_status_id&status=Et+nihil+et+vero.
|
||||||
|
headers:
|
||||||
|
User-Agent:
|
||||||
|
- TwitterRubyGem/7.0.0
|
||||||
|
Authorization:
|
||||||
|
- OAuth oauth_consumer_key="<TWITTER_CONSUMER_KEY>", oauth_nonce="6bdd110e5fab1ce536f289468468fc2b",
|
||||||
|
oauth_signature="CnjQGa1vQ6LwdYYiwjhiTVmlTQE%3D", oauth_signature_method="HMAC-SHA1",
|
||||||
|
oauth_timestamp="1625040246", oauth_token="<TWITTER_OAUTH_TOKEN>", oauth_version="1.0"
|
||||||
|
Connection:
|
||||||
|
- close
|
||||||
|
Content-Type:
|
||||||
|
- application/x-www-form-urlencoded
|
||||||
|
Host:
|
||||||
|
- api.twitter.com
|
||||||
|
response:
|
||||||
|
status:
|
||||||
|
code: 200
|
||||||
|
message: OK
|
||||||
|
headers:
|
||||||
|
Date:
|
||||||
|
- Wed, 30 Jun 2021 08:04:06 GMT
|
||||||
|
Pragma:
|
||||||
|
- no-cache
|
||||||
|
Server:
|
||||||
|
- tsa_o
|
||||||
|
Status:
|
||||||
|
- 200 OK
|
||||||
|
Expires:
|
||||||
|
- Tue, 31 Mar 1981 05:00:00 GMT
|
||||||
|
Set-Cookie:
|
||||||
|
- guest_id=v1%3A162504024660429882; Max-Age=63072000; Expires=Fri, 30 Jun 2023
|
||||||
|
08:04:06 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
|
||||||
|
- lang=en; Path=/
|
||||||
|
- personalization_id="v1_tV/jpDXaW+D3DEtyLxcnYA=="; Max-Age=63072000; Expires=Fri,
|
||||||
|
30 Jun 2023 08:04:06 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
|
||||||
|
Content-Type:
|
||||||
|
- application/json;charset=utf-8
|
||||||
|
Cache-Control:
|
||||||
|
- no-cache, no-store, must-revalidate, pre-check=0, post-check=0
|
||||||
|
Last-Modified:
|
||||||
|
- Wed, 30 Jun 2021 08:04:06 GMT
|
||||||
|
X-Transaction:
|
||||||
|
- 4c148497d581205f
|
||||||
|
Content-Length:
|
||||||
|
- '1959'
|
||||||
|
X-Access-Level:
|
||||||
|
- read-write-directmessages
|
||||||
|
X-Frame-Options:
|
||||||
|
- SAMEORIGIN
|
||||||
|
X-Xss-Protection:
|
||||||
|
- '0'
|
||||||
|
Content-Disposition:
|
||||||
|
- attachment; filename=json.json
|
||||||
|
X-Content-Type-Options:
|
||||||
|
- nosniff
|
||||||
|
X-Twitter-Response-Tags:
|
||||||
|
- BouncerCompliant
|
||||||
|
Strict-Transport-Security:
|
||||||
|
- max-age=631138519
|
||||||
|
X-Connection-Hash:
|
||||||
|
- aa2e55737481229a7f9b447bb3be7d7997cea851fd9524f9173c99092529628b
|
||||||
|
Connection:
|
||||||
|
- close
|
||||||
|
body:
|
||||||
|
encoding: UTF-8
|
||||||
|
string: '{"created_at":"Wed Jun 30 08:04:06 +0000 2021","id":1410147116983410688,"id_str":"1410147116983410688","text":"Et
|
||||||
|
nihil et vero.","truncated":false,"entities":{"hashtags":[],"symbols":[],"user_mentions":[],"urls":[]},"source":"\u003ca
|
||||||
|
href=\"https:\/\/zammad.com\" rel=\"nofollow\"\u003eZammad Integration Test\u003c\/a\u003e","in_reply_to_status_id":null,"in_reply_to_status_id_str":null,"in_reply_to_user_id":null,"in_reply_to_user_id_str":null,"in_reply_to_screen_name":null,"user":{"id":<TWITTER_USER_ID>,"id_str":"<TWITTER_USER_ID>","name":"Zammad
|
||||||
|
Integration Test Account","screen_name":"ZammadTesting","location":"","description":"Zammad
|
||||||
|
Integration Test Account","url":null,"entities":{"description":{"urls":[]}},"protected":false,"followers_count":0,"friends_count":0,"listed_count":0,"created_at":"Fri
|
||||||
|
Jun 25 07:21:40 +0000 2021","favourites_count":0,"utc_offset":null,"time_zone":null,"geo_enabled":false,"verified":false,"statuses_count":132,"lang":null,"contributors_enabled":false,"is_translator":false,"is_translation_enabled":false,"profile_background_color":"F5F8FA","profile_background_image_url":null,"profile_background_image_url_https":null,"profile_background_tile":false,"profile_image_url":"http:\/\/pbs.twimg.com\/profile_images\/1408343046731845632\/K56uhLP2_normal.png","profile_image_url_https":"https:\/\/pbs.twimg.com\/profile_images\/1408343046731845632\/K56uhLP2_normal.png","profile_link_color":"1DA1F2","profile_sidebar_border_color":"C0DEED","profile_sidebar_fill_color":"DDEEF6","profile_text_color":"333333","profile_use_background_image":true,"has_extended_profile":true,"default_profile":true,"default_profile_image":false,"following":false,"follow_request_sent":false,"notifications":false,"translator_type":"none","withheld_in_countries":[]},"geo":null,"coordinates":null,"place":null,"contributors":null,"is_quote_status":false,"retweet_count":0,"favorite_count":0,"favorited":false,"retweeted":false,"lang":"fr"}'
|
||||||
|
recorded_at: Wed, 30 Jun 2021 08:04:06 GMT
|
||||||
|
recorded_with: VCR 6.0.0
|
|
@ -5,14 +5,14 @@ http_interactions:
|
||||||
uri: https://api.twitter.com/1.1/statuses/update.json
|
uri: https://api.twitter.com/1.1/statuses/update.json
|
||||||
body:
|
body:
|
||||||
encoding: UTF-8
|
encoding: UTF-8
|
||||||
string: in_reply_to_status_id&status=Officia+qui+quo+laudantium.
|
string: in_reply_to_status_id&status=Dolor+rerum+illo+voluptatibus.
|
||||||
headers:
|
headers:
|
||||||
User-Agent:
|
User-Agent:
|
||||||
- TwitterRubyGem/6.2.0
|
- TwitterRubyGem/7.0.0
|
||||||
Authorization:
|
Authorization:
|
||||||
- OAuth oauth_consumer_key="q7K8GEkhyCHs9jHLtkmD9Kod4", oauth_nonce="03c07d843276ea5be9e32934e277cd07",
|
- OAuth oauth_consumer_key="q7K8GEkhyCHs9jHLtkmD9Kod4", oauth_nonce="d374bebfd96c764d209aaed0d96ba8e9",
|
||||||
oauth_signature="etY6LuIgozpV2JPPFCnnSRykVf4%3D", oauth_signature_method="HMAC-SHA1",
|
oauth_signature="soiG9cT63KFZZuJvIje4ImaQlcI%3D", oauth_signature_method="HMAC-SHA1",
|
||||||
oauth_timestamp="1585657668", oauth_token="7783712304-H9s75r2d532diPmJYK6JrvUWxu9gTDZ6ocjfToL",
|
oauth_timestamp="1625040247", oauth_token="7783712304-H9s75r2d532diPmJYK6JrvUWxu9gTDZ6ocjfToL",
|
||||||
oauth_version="1.0"
|
oauth_version="1.0"
|
||||||
Connection:
|
Connection:
|
||||||
- close
|
- close
|
||||||
|
@ -25,32 +25,29 @@ http_interactions:
|
||||||
code: 401
|
code: 401
|
||||||
message: Unauthorized
|
message: Unauthorized
|
||||||
headers:
|
headers:
|
||||||
Connection:
|
Date:
|
||||||
- close
|
- Wed, 30 Jun 2021 08:04:07 GMT
|
||||||
Content-Length:
|
Server:
|
||||||
- '62'
|
- tsa_o
|
||||||
|
Set-Cookie:
|
||||||
|
- guest_id=v1%3A162504024752063664; Max-Age=63072000; Expires=Fri, 30 Jun 2023
|
||||||
|
08:04:07 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
|
||||||
|
- personalization_id="v1_gSc3bw28qFN+ZFLU763IQA=="; Max-Age=63072000; Expires=Fri,
|
||||||
|
30 Jun 2023 08:04:07 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
|
||||||
Content-Type:
|
Content-Type:
|
||||||
- application/json; charset=utf-8
|
- application/json; charset=utf-8
|
||||||
Date:
|
Cache-Control:
|
||||||
- Tue, 31 Mar 2020 12:27:49 GMT
|
- no-cache, no-store, max-age=0
|
||||||
Server:
|
Content-Length:
|
||||||
- tsa_m
|
- '62'
|
||||||
Set-Cookie:
|
|
||||||
- guest_id=v1%3A158565766914726723; Max-Age=63072000; Expires=Thu, 31 Mar 2022
|
|
||||||
12:27:49 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
|
|
||||||
- personalization_id="v1_Pk8vk94r2BPsy5pPrAyZiw=="; Max-Age=63072000; Expires=Thu,
|
|
||||||
31 Mar 2022 12:27:49 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
|
|
||||||
Strict-Transport-Security:
|
Strict-Transport-Security:
|
||||||
- max-age=631138519
|
- max-age=631138519
|
||||||
X-Connection-Hash:
|
X-Connection-Hash:
|
||||||
- 43a5b1d7e5d707d650f1cf02cdef086c
|
- 1f1fe60ac5f10347a4c84b938827ffe2b2b9141eff3233e40528e5c1d835ea81
|
||||||
X-Response-Time:
|
Connection:
|
||||||
- '107'
|
- close
|
||||||
X-Tsa-Request-Body-Time:
|
|
||||||
- '0'
|
|
||||||
body:
|
body:
|
||||||
encoding: UTF-8
|
encoding: UTF-8
|
||||||
string: '{"errors":[{"code":89,"message":"Invalid or expired token."}]}'
|
string: '{"errors":[{"code":89,"message":"Invalid or expired token."}]}'
|
||||||
http_version:
|
recorded_at: Wed, 30 Jun 2021 08:04:07 GMT
|
||||||
recorded_at: Tue, 31 Mar 2020 12:27:49 GMT
|
recorded_with: VCR 6.0.0
|
||||||
recorded_with: VCR 4.0.0
|
|
|
@ -5,16 +5,15 @@ http_interactions:
|
||||||
uri: https://api.twitter.com/1.1/direct_messages/events/new.json
|
uri: https://api.twitter.com/1.1/direct_messages/events/new.json
|
||||||
body:
|
body:
|
||||||
encoding: UTF-8
|
encoding: UTF-8
|
||||||
string: '{"event":{"type":"message_create","message_create":{"target":{"recipient_id":"2688148651"},"message_data":{"text":"Please
|
string: '{"event":{"type":"message_create","message_create":{"target":{"recipient_id":<TWITTER_DM_RECIPIENT>},"message_data":{"text":"Please
|
||||||
ignore this message."}}}}'
|
ignore this message."}}}}'
|
||||||
headers:
|
headers:
|
||||||
User-Agent:
|
User-Agent:
|
||||||
- TwitterRubyGem/6.2.0
|
- TwitterRubyGem/7.0.0
|
||||||
Authorization:
|
Authorization:
|
||||||
- OAuth oauth_consumer_key="REDACTED", oauth_nonce="89f9fb3a4a61083d5a43108631b561fb",
|
- OAuth oauth_consumer_key="<TWITTER_CONSUMER_KEY>", oauth_nonce="53083a369b6ee30242406a76960ae2b6",
|
||||||
oauth_signature="9Kmi04TwHkzb1Qg1kc4UcFaAuzc%3D", oauth_signature_method="HMAC-SHA1",
|
oauth_signature="rCryB%2Btxj%2Bvtp0P5IwTPymdd9rA%3D", oauth_signature_method="HMAC-SHA1",
|
||||||
oauth_timestamp="1585654994", oauth_token="REDACTED",
|
oauth_timestamp="1625040244", oauth_token="<TWITTER_OAUTH_TOKEN>", oauth_version="1.0"
|
||||||
oauth_version="1.0"
|
|
||||||
Connection:
|
Connection:
|
||||||
- close
|
- close
|
||||||
Content-Type:
|
Content-Type:
|
||||||
|
@ -26,58 +25,53 @@ http_interactions:
|
||||||
code: 200
|
code: 200
|
||||||
message: OK
|
message: OK
|
||||||
headers:
|
headers:
|
||||||
Cache-Control:
|
|
||||||
- no-cache, no-store, must-revalidate, pre-check=0, post-check=0
|
|
||||||
Connection:
|
|
||||||
- close
|
|
||||||
Content-Disposition:
|
|
||||||
- attachment; filename=json.json
|
|
||||||
Content-Length:
|
|
||||||
- '313'
|
|
||||||
Content-Type:
|
|
||||||
- application/json;charset=utf-8
|
|
||||||
Date:
|
Date:
|
||||||
- Tue, 31 Mar 2020 11:43:15 GMT
|
- Wed, 30 Jun 2021 08:04:04 GMT
|
||||||
Expires:
|
|
||||||
- Tue, 31 Mar 1981 05:00:00 GMT
|
|
||||||
Last-Modified:
|
|
||||||
- Tue, 31 Mar 2020 11:43:15 GMT
|
|
||||||
Pragma:
|
Pragma:
|
||||||
- no-cache
|
- no-cache
|
||||||
Server:
|
Server:
|
||||||
- tsa_m
|
- tsa_o
|
||||||
Set-Cookie:
|
|
||||||
- guest_id=v1%3A158565499496785911; Max-Age=63072000; Expires=Thu, 31 Mar 2022
|
|
||||||
11:43:15 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
|
|
||||||
- lang=en; Path=/
|
|
||||||
- personalization_id="v1_ixvQSJNpQwDdhsQnnFjMbg=="; Max-Age=63072000; Expires=Thu,
|
|
||||||
31 Mar 2022 11:43:15 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
|
|
||||||
Status:
|
Status:
|
||||||
- 200 OK
|
- 200 OK
|
||||||
Strict-Transport-Security:
|
Expires:
|
||||||
- max-age=631138519
|
- Tue, 31 Mar 1981 05:00:00 GMT
|
||||||
|
Set-Cookie:
|
||||||
|
- guest_id=v1%3A162504024460802992; Max-Age=63072000; Expires=Fri, 30 Jun 2023
|
||||||
|
08:04:04 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
|
||||||
|
- lang=en; Path=/
|
||||||
|
- personalization_id="v1_U7LtaaLFnMBIkC2YpoT/dQ=="; Max-Age=63072000; Expires=Fri,
|
||||||
|
30 Jun 2023 08:04:04 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
|
||||||
|
Content-Type:
|
||||||
|
- application/json;charset=utf-8
|
||||||
|
Cache-Control:
|
||||||
|
- no-cache, no-store, must-revalidate, pre-check=0, post-check=0
|
||||||
|
Last-Modified:
|
||||||
|
- Wed, 30 Jun 2021 08:04:04 GMT
|
||||||
|
X-Transaction:
|
||||||
|
- 708f49cab46ff366
|
||||||
|
Content-Length:
|
||||||
|
- '313'
|
||||||
X-Access-Level:
|
X-Access-Level:
|
||||||
- read-write-directmessages
|
- read-write-directmessages
|
||||||
X-Connection-Hash:
|
|
||||||
- 89771d0fa3e3da3329775711776b1a24
|
|
||||||
X-Content-Type-Options:
|
|
||||||
- nosniff
|
|
||||||
X-Frame-Options:
|
X-Frame-Options:
|
||||||
- SAMEORIGIN
|
- SAMEORIGIN
|
||||||
X-Response-Time:
|
|
||||||
- '215'
|
|
||||||
X-Transaction:
|
|
||||||
- 00e3834000e91bc3
|
|
||||||
X-Tsa-Request-Body-Time:
|
|
||||||
- '0'
|
|
||||||
X-Twitter-Response-Tags:
|
|
||||||
- BouncerCompliant
|
|
||||||
X-Xss-Protection:
|
X-Xss-Protection:
|
||||||
- '0'
|
- '0'
|
||||||
|
Content-Disposition:
|
||||||
|
- attachment; filename=json.json
|
||||||
|
X-Content-Type-Options:
|
||||||
|
- nosniff
|
||||||
|
X-Twitter-Response-Tags:
|
||||||
|
- BouncerCompliant
|
||||||
|
Strict-Transport-Security:
|
||||||
|
- max-age=631138519
|
||||||
|
X-Connection-Hash:
|
||||||
|
- 1d616544d9ebcd87d8c8225b597043de2994ba32a52176afe63a7e39a4b36fd4
|
||||||
|
Connection:
|
||||||
|
- close
|
||||||
body:
|
body:
|
||||||
encoding: UTF-8
|
encoding: UTF-8
|
||||||
string: '{"event":{"type":"message_create","id":"1244953398509617156","created_timestamp":"1585654994977","message_create":{"target":{"recipient_id":"2688148651"},"sender_id":"1205290247124217856","message_data":{"text":"Please
|
string: '{"event":{"type":"message_create","id":"1410147108624142341","created_timestamp":"1625040244619","message_create":{"target":{"recipient_id":"<TWITTER_DM_RECIPIENT>"},"sender_id":"<TWITTER_USER_ID>","message_data":{"text":"Please
|
||||||
ignore this message.","entities":{"hashtags":[],"symbols":[],"user_mentions":[],"urls":[]}}}}}'
|
ignore this message.","entities":{"hashtags":[],"symbols":[],"user_mentions":[],"urls":[]}}}}}'
|
||||||
http_version:
|
recorded_at: Wed, 30 Jun 2021 08:04:04 GMT
|
||||||
recorded_at: Tue, 31 Mar 2020 11:43:15 GMT
|
recorded_with: VCR 6.0.0
|
||||||
recorded_with: VCR 4.0.0
|
|
|
@ -5,16 +5,15 @@ http_interactions:
|
||||||
uri: https://api.twitter.com/1.1/direct_messages/events/new.json
|
uri: https://api.twitter.com/1.1/direct_messages/events/new.json
|
||||||
body:
|
body:
|
||||||
encoding: UTF-8
|
encoding: UTF-8
|
||||||
string: '{"event":{"type":"message_create","message_create":{"target":{"recipient_id":"2688148651"},"message_data":{"text":"Please
|
string: '{"event":{"type":"message_create","message_create":{"target":{"recipient_id":<TWITTER_DM_RECIPIENT>},"message_data":{"text":"Please
|
||||||
ignore this message."}}}}'
|
ignore this message."}}}}'
|
||||||
headers:
|
headers:
|
||||||
User-Agent:
|
User-Agent:
|
||||||
- TwitterRubyGem/6.2.0
|
- TwitterRubyGem/7.0.0
|
||||||
Authorization:
|
Authorization:
|
||||||
- OAuth oauth_consumer_key="REDACTED", oauth_nonce="89f9fb3a4a61083d5a43108631b561fb",
|
- OAuth oauth_consumer_key="<TWITTER_CONSUMER_KEY>", oauth_nonce="d53ac1110b5991c6f13e46ec6c66b5b6",
|
||||||
oauth_signature="9Kmi04TwHkzb1Qg1kc4UcFaAuzc%3D", oauth_signature_method="HMAC-SHA1",
|
oauth_signature="4l4w9Q00ibBHiHXAHeJqhQhgycQ%3D", oauth_signature_method="HMAC-SHA1",
|
||||||
oauth_timestamp="1585654994", oauth_token="REDACTED",
|
oauth_timestamp="1625001656", oauth_token="<TWITTER_OAUTH_TOKEN>", oauth_version="1.0"
|
||||||
oauth_version="1.0"
|
|
||||||
Connection:
|
Connection:
|
||||||
- close
|
- close
|
||||||
Content-Type:
|
Content-Type:
|
||||||
|
@ -23,61 +22,56 @@ http_interactions:
|
||||||
- api.twitter.com
|
- api.twitter.com
|
||||||
response:
|
response:
|
||||||
status:
|
status:
|
||||||
code: 200
|
code: 403
|
||||||
message: OK
|
message: Forbidden
|
||||||
headers:
|
headers:
|
||||||
Cache-Control:
|
|
||||||
- no-cache, no-store, must-revalidate, pre-check=0, post-check=0
|
|
||||||
Connection:
|
|
||||||
- close
|
|
||||||
Content-Disposition:
|
|
||||||
- attachment; filename=json.json
|
|
||||||
Content-Length:
|
|
||||||
- '313'
|
|
||||||
Content-Type:
|
|
||||||
- application/json;charset=utf-8
|
|
||||||
Date:
|
Date:
|
||||||
- Tue, 31 Mar 2020 11:43:15 GMT
|
- Tue, 29 Jun 2021 21:20:56 GMT
|
||||||
Expires:
|
|
||||||
- Tue, 31 Mar 1981 05:00:00 GMT
|
|
||||||
Last-Modified:
|
|
||||||
- Tue, 31 Mar 2020 11:43:15 GMT
|
|
||||||
Pragma:
|
Pragma:
|
||||||
- no-cache
|
- no-cache
|
||||||
Server:
|
Server:
|
||||||
- tsa_m
|
- tsa_o
|
||||||
Set-Cookie:
|
|
||||||
- guest_id=v1%3A158565499496785911; Max-Age=63072000; Expires=Thu, 31 Mar 2022
|
|
||||||
11:43:15 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
|
|
||||||
- lang=en; Path=/
|
|
||||||
- personalization_id="v1_ixvQSJNpQwDdhsQnnFjMbg=="; Max-Age=63072000; Expires=Thu,
|
|
||||||
31 Mar 2022 11:43:15 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
|
|
||||||
Status:
|
Status:
|
||||||
- 200 OK
|
- 403 Forbidden
|
||||||
Strict-Transport-Security:
|
Expires:
|
||||||
- max-age=631138519
|
- Tue, 31 Mar 1981 05:00:00 GMT
|
||||||
|
Set-Cookie:
|
||||||
|
- guest_id=v1%3A162500165664405069; Max-Age=63072000; Expires=Thu, 29 Jun 2023
|
||||||
|
21:20:56 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
|
||||||
|
- lang=en; Path=/
|
||||||
|
- personalization_id="v1_/R/bBvLYe369R9bKkVtT0Q=="; Max-Age=63072000; Expires=Thu,
|
||||||
|
29 Jun 2023 21:20:56 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
|
||||||
|
Content-Type:
|
||||||
|
- application/json;charset=utf-8
|
||||||
|
Cache-Control:
|
||||||
|
- no-cache, no-store, must-revalidate, pre-check=0, post-check=0
|
||||||
|
Last-Modified:
|
||||||
|
- Tue, 29 Jun 2021 21:20:56 GMT
|
||||||
|
X-Transaction:
|
||||||
|
- e3ed294bc3b0da31
|
||||||
|
Content-Length:
|
||||||
|
- '76'
|
||||||
X-Access-Level:
|
X-Access-Level:
|
||||||
- read-write-directmessages
|
- read-write-directmessages
|
||||||
X-Connection-Hash:
|
|
||||||
- 89771d0fa3e3da3329775711776b1a24
|
|
||||||
X-Content-Type-Options:
|
|
||||||
- nosniff
|
|
||||||
X-Frame-Options:
|
X-Frame-Options:
|
||||||
- SAMEORIGIN
|
- SAMEORIGIN
|
||||||
X-Response-Time:
|
|
||||||
- '215'
|
|
||||||
X-Transaction:
|
|
||||||
- 00e3834000e91bc3
|
|
||||||
X-Tsa-Request-Body-Time:
|
|
||||||
- '0'
|
|
||||||
X-Twitter-Response-Tags:
|
|
||||||
- BouncerCompliant
|
|
||||||
X-Xss-Protection:
|
X-Xss-Protection:
|
||||||
- '0'
|
- '0'
|
||||||
|
Content-Disposition:
|
||||||
|
- attachment; filename=json.json
|
||||||
|
X-Content-Type-Options:
|
||||||
|
- nosniff
|
||||||
|
X-Twitter-Response-Tags:
|
||||||
|
- BouncerCompliant
|
||||||
|
Strict-Transport-Security:
|
||||||
|
- max-age=631138519
|
||||||
|
X-Connection-Hash:
|
||||||
|
- b1a6e386025a844744ac567e0093bafe320dbbe4ebd7227f46a8951e0d7f4f19
|
||||||
|
Connection:
|
||||||
|
- close
|
||||||
body:
|
body:
|
||||||
encoding: UTF-8
|
encoding: UTF-8
|
||||||
string: '{"event":{"type":"message_create","id":"1244953398509617156","created_timestamp":"1585654994977","message_create":{"target":{"recipient_id":"2688148651"},"sender_id":"1205290247124217856","message_data":{"text":"Please
|
string: '{"errors":[{"code":349,"message":"You cannot send messages to this
|
||||||
ignore this message.","entities":{"hashtags":[],"symbols":[],"user_mentions":[],"urls":[]}}}}}'
|
user."}]}'
|
||||||
http_version:
|
recorded_at: Tue, 29 Jun 2021 21:20:56 GMT
|
||||||
recorded_at: Tue, 31 Mar 2020 11:43:15 GMT
|
recorded_with: VCR 6.0.0
|
||||||
recorded_with: VCR 4.0.0
|
|
|
@ -5,16 +5,15 @@ http_interactions:
|
||||||
uri: https://api.twitter.com/1.1/direct_messages/events/new.json
|
uri: https://api.twitter.com/1.1/direct_messages/events/new.json
|
||||||
body:
|
body:
|
||||||
encoding: UTF-8
|
encoding: UTF-8
|
||||||
string: '{"event":{"type":"message_create","message_create":{"target":{"recipient_id":"2688148651"},"message_data":{"text":"Please
|
string: '{"event":{"type":"message_create","message_create":{"target":{"recipient_id":<TWITTER_DM_RECIPIENT>},"message_data":{"text":"Please
|
||||||
ignore this message."}}}}'
|
ignore this message."}}}}'
|
||||||
headers:
|
headers:
|
||||||
User-Agent:
|
User-Agent:
|
||||||
- TwitterRubyGem/6.2.0
|
- TwitterRubyGem/7.0.0
|
||||||
Authorization:
|
Authorization:
|
||||||
- OAuth oauth_consumer_key="REDACTED", oauth_nonce="89f9fb3a4a61083d5a43108631b561fb",
|
- OAuth oauth_consumer_key="<TWITTER_CONSUMER_KEY>", oauth_nonce="059956a1ece3b3a66c79a841a2b63373",
|
||||||
oauth_signature="9Kmi04TwHkzb1Qg1kc4UcFaAuzc%3D", oauth_signature_method="HMAC-SHA1",
|
oauth_signature="ktziTsboTa%2BF8wvC%2BH1%2BSr%2FLCl4%3D", oauth_signature_method="HMAC-SHA1",
|
||||||
oauth_timestamp="1585654994", oauth_token="REDACTED",
|
oauth_timestamp="1625040245", oauth_token="<TWITTER_OAUTH_TOKEN>", oauth_version="1.0"
|
||||||
oauth_version="1.0"
|
|
||||||
Connection:
|
Connection:
|
||||||
- close
|
- close
|
||||||
Content-Type:
|
Content-Type:
|
||||||
|
@ -26,58 +25,53 @@ http_interactions:
|
||||||
code: 200
|
code: 200
|
||||||
message: OK
|
message: OK
|
||||||
headers:
|
headers:
|
||||||
Cache-Control:
|
|
||||||
- no-cache, no-store, must-revalidate, pre-check=0, post-check=0
|
|
||||||
Connection:
|
|
||||||
- close
|
|
||||||
Content-Disposition:
|
|
||||||
- attachment; filename=json.json
|
|
||||||
Content-Length:
|
|
||||||
- '313'
|
|
||||||
Content-Type:
|
|
||||||
- application/json;charset=utf-8
|
|
||||||
Date:
|
Date:
|
||||||
- Tue, 31 Mar 2020 11:43:15 GMT
|
- Wed, 30 Jun 2021 08:04:05 GMT
|
||||||
Expires:
|
|
||||||
- Tue, 31 Mar 1981 05:00:00 GMT
|
|
||||||
Last-Modified:
|
|
||||||
- Tue, 31 Mar 2020 11:43:15 GMT
|
|
||||||
Pragma:
|
Pragma:
|
||||||
- no-cache
|
- no-cache
|
||||||
Server:
|
Server:
|
||||||
- tsa_m
|
- tsa_o
|
||||||
Set-Cookie:
|
|
||||||
- guest_id=v1%3A158565499496785911; Max-Age=63072000; Expires=Thu, 31 Mar 2022
|
|
||||||
11:43:15 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
|
|
||||||
- lang=en; Path=/
|
|
||||||
- personalization_id="v1_ixvQSJNpQwDdhsQnnFjMbg=="; Max-Age=63072000; Expires=Thu,
|
|
||||||
31 Mar 2022 11:43:15 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
|
|
||||||
Status:
|
Status:
|
||||||
- 200 OK
|
- 200 OK
|
||||||
Strict-Transport-Security:
|
Expires:
|
||||||
- max-age=631138519
|
- Tue, 31 Mar 1981 05:00:00 GMT
|
||||||
|
Set-Cookie:
|
||||||
|
- guest_id=v1%3A162504024541934708; Max-Age=63072000; Expires=Fri, 30 Jun 2023
|
||||||
|
08:04:05 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
|
||||||
|
- lang=en; Path=/
|
||||||
|
- personalization_id="v1_Htfee3TSOnWMFrP/Xf/T/w=="; Max-Age=63072000; Expires=Fri,
|
||||||
|
30 Jun 2023 08:04:05 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
|
||||||
|
Content-Type:
|
||||||
|
- application/json;charset=utf-8
|
||||||
|
Cache-Control:
|
||||||
|
- no-cache, no-store, must-revalidate, pre-check=0, post-check=0
|
||||||
|
Last-Modified:
|
||||||
|
- Wed, 30 Jun 2021 08:04:05 GMT
|
||||||
|
X-Transaction:
|
||||||
|
- e3208fd407c4eed3
|
||||||
|
Content-Length:
|
||||||
|
- '313'
|
||||||
X-Access-Level:
|
X-Access-Level:
|
||||||
- read-write-directmessages
|
- read-write-directmessages
|
||||||
X-Connection-Hash:
|
|
||||||
- 89771d0fa3e3da3329775711776b1a24
|
|
||||||
X-Content-Type-Options:
|
|
||||||
- nosniff
|
|
||||||
X-Frame-Options:
|
X-Frame-Options:
|
||||||
- SAMEORIGIN
|
- SAMEORIGIN
|
||||||
X-Response-Time:
|
|
||||||
- '215'
|
|
||||||
X-Transaction:
|
|
||||||
- 00e3834000e91bc3
|
|
||||||
X-Tsa-Request-Body-Time:
|
|
||||||
- '0'
|
|
||||||
X-Twitter-Response-Tags:
|
|
||||||
- BouncerCompliant
|
|
||||||
X-Xss-Protection:
|
X-Xss-Protection:
|
||||||
- '0'
|
- '0'
|
||||||
|
Content-Disposition:
|
||||||
|
- attachment; filename=json.json
|
||||||
|
X-Content-Type-Options:
|
||||||
|
- nosniff
|
||||||
|
X-Twitter-Response-Tags:
|
||||||
|
- BouncerCompliant
|
||||||
|
Strict-Transport-Security:
|
||||||
|
- max-age=631138519
|
||||||
|
X-Connection-Hash:
|
||||||
|
- 82d50f9badd633a8c1b3e0469fb921464cfdbc6a09f99332740f2b3e98b2f8d8
|
||||||
|
Connection:
|
||||||
|
- close
|
||||||
body:
|
body:
|
||||||
encoding: UTF-8
|
encoding: UTF-8
|
||||||
string: '{"event":{"type":"message_create","id":"1244953398509617156","created_timestamp":"1585654994977","message_create":{"target":{"recipient_id":"2688148651"},"sender_id":"1205290247124217856","message_data":{"text":"Please
|
string: '{"event":{"type":"message_create","id":"1410147112021528582","created_timestamp":"1625040245429","message_create":{"target":{"recipient_id":"<TWITTER_DM_RECIPIENT>"},"sender_id":"<TWITTER_USER_ID>","message_data":{"text":"Please
|
||||||
ignore this message.","entities":{"hashtags":[],"symbols":[],"user_mentions":[],"urls":[]}}}}}'
|
ignore this message.","entities":{"hashtags":[],"symbols":[],"user_mentions":[],"urls":[]}}}}}'
|
||||||
http_version:
|
recorded_at: Wed, 30 Jun 2021 08:04:05 GMT
|
||||||
recorded_at: Tue, 31 Mar 2020 11:43:15 GMT
|
recorded_with: VCR 6.0.0
|
||||||
recorded_with: VCR 4.0.0
|
|
|
@ -5,16 +5,15 @@ http_interactions:
|
||||||
uri: https://api.twitter.com/1.1/direct_messages/events/new.json
|
uri: https://api.twitter.com/1.1/direct_messages/events/new.json
|
||||||
body:
|
body:
|
||||||
encoding: UTF-8
|
encoding: UTF-8
|
||||||
string: '{"event":{"type":"message_create","message_create":{"target":{"recipient_id":"2688148651"},"message_data":{"text":"Please
|
string: '{"event":{"type":"message_create","message_create":{"target":{"recipient_id":<TWITTER_DM_RECIPIENT>},"message_data":{"text":"Please
|
||||||
ignore this message."}}}}'
|
ignore this message."}}}}'
|
||||||
headers:
|
headers:
|
||||||
User-Agent:
|
User-Agent:
|
||||||
- TwitterRubyGem/6.2.0
|
- TwitterRubyGem/7.0.0
|
||||||
Authorization:
|
Authorization:
|
||||||
- OAuth oauth_consumer_key="REDACTED", oauth_nonce="89f9fb3a4a61083d5a43108631b561fb",
|
- OAuth oauth_consumer_key="<TWITTER_CONSUMER_KEY>", oauth_nonce="38c9276a42d314eb2c6504a1585a56f2",
|
||||||
oauth_signature="9Kmi04TwHkzb1Qg1kc4UcFaAuzc%3D", oauth_signature_method="HMAC-SHA1",
|
oauth_signature="%2Bqoynn5ly%2BM%2F8h39yYuZx6%2B1euY%3D", oauth_signature_method="HMAC-SHA1",
|
||||||
oauth_timestamp="1585654994", oauth_token="REDACTED",
|
oauth_timestamp="1625039834", oauth_token="<TWITTER_OAUTH_TOKEN>", oauth_version="1.0"
|
||||||
oauth_version="1.0"
|
|
||||||
Connection:
|
Connection:
|
||||||
- close
|
- close
|
||||||
Content-Type:
|
Content-Type:
|
||||||
|
@ -26,58 +25,53 @@ http_interactions:
|
||||||
code: 200
|
code: 200
|
||||||
message: OK
|
message: OK
|
||||||
headers:
|
headers:
|
||||||
Cache-Control:
|
|
||||||
- no-cache, no-store, must-revalidate, pre-check=0, post-check=0
|
|
||||||
Connection:
|
|
||||||
- close
|
|
||||||
Content-Disposition:
|
|
||||||
- attachment; filename=json.json
|
|
||||||
Content-Length:
|
|
||||||
- '313'
|
|
||||||
Content-Type:
|
|
||||||
- application/json;charset=utf-8
|
|
||||||
Date:
|
Date:
|
||||||
- Tue, 31 Mar 2020 11:43:15 GMT
|
- Wed, 30 Jun 2021 07:57:14 GMT
|
||||||
Expires:
|
|
||||||
- Tue, 31 Mar 1981 05:00:00 GMT
|
|
||||||
Last-Modified:
|
|
||||||
- Tue, 31 Mar 2020 11:43:15 GMT
|
|
||||||
Pragma:
|
Pragma:
|
||||||
- no-cache
|
- no-cache
|
||||||
Server:
|
Server:
|
||||||
- tsa_m
|
- tsa_o
|
||||||
Set-Cookie:
|
|
||||||
- guest_id=v1%3A158565499496785911; Max-Age=63072000; Expires=Thu, 31 Mar 2022
|
|
||||||
11:43:15 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
|
|
||||||
- lang=en; Path=/
|
|
||||||
- personalization_id="v1_ixvQSJNpQwDdhsQnnFjMbg=="; Max-Age=63072000; Expires=Thu,
|
|
||||||
31 Mar 2022 11:43:15 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
|
|
||||||
Status:
|
Status:
|
||||||
- 200 OK
|
- 200 OK
|
||||||
Strict-Transport-Security:
|
Expires:
|
||||||
- max-age=631138519
|
- Tue, 31 Mar 1981 05:00:00 GMT
|
||||||
|
Set-Cookie:
|
||||||
|
- guest_id=v1%3A162503983462759570; Max-Age=63072000; Expires=Fri, 30 Jun 2023
|
||||||
|
07:57:14 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
|
||||||
|
- lang=en; Path=/
|
||||||
|
- personalization_id="v1_oYMvoU13+VfVDQAVawvLiQ=="; Max-Age=63072000; Expires=Fri,
|
||||||
|
30 Jun 2023 07:57:14 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
|
||||||
|
Content-Type:
|
||||||
|
- application/json;charset=utf-8
|
||||||
|
Cache-Control:
|
||||||
|
- no-cache, no-store, must-revalidate, pre-check=0, post-check=0
|
||||||
|
Last-Modified:
|
||||||
|
- Wed, 30 Jun 2021 07:57:14 GMT
|
||||||
|
X-Transaction:
|
||||||
|
- '0979de2321a1e590'
|
||||||
|
Content-Length:
|
||||||
|
- '313'
|
||||||
X-Access-Level:
|
X-Access-Level:
|
||||||
- read-write-directmessages
|
- read-write-directmessages
|
||||||
X-Connection-Hash:
|
|
||||||
- 89771d0fa3e3da3329775711776b1a24
|
|
||||||
X-Content-Type-Options:
|
|
||||||
- nosniff
|
|
||||||
X-Frame-Options:
|
X-Frame-Options:
|
||||||
- SAMEORIGIN
|
- SAMEORIGIN
|
||||||
X-Response-Time:
|
|
||||||
- '215'
|
|
||||||
X-Transaction:
|
|
||||||
- 00e3834000e91bc3
|
|
||||||
X-Tsa-Request-Body-Time:
|
|
||||||
- '0'
|
|
||||||
X-Twitter-Response-Tags:
|
|
||||||
- BouncerCompliant
|
|
||||||
X-Xss-Protection:
|
X-Xss-Protection:
|
||||||
- '0'
|
- '0'
|
||||||
|
Content-Disposition:
|
||||||
|
- attachment; filename=json.json
|
||||||
|
X-Content-Type-Options:
|
||||||
|
- nosniff
|
||||||
|
X-Twitter-Response-Tags:
|
||||||
|
- BouncerCompliant
|
||||||
|
Strict-Transport-Security:
|
||||||
|
- max-age=631138519
|
||||||
|
X-Connection-Hash:
|
||||||
|
- 87f1635ceda56488ee072f5693ae9d8bd50ae5381b4a4cd81f9febfda6d6314d
|
||||||
|
Connection:
|
||||||
|
- close
|
||||||
body:
|
body:
|
||||||
encoding: UTF-8
|
encoding: UTF-8
|
||||||
string: '{"event":{"type":"message_create","id":"1244953398509617156","created_timestamp":"1585654994977","message_create":{"target":{"recipient_id":"2688148651"},"sender_id":"1205290247124217856","message_data":{"text":"Please
|
string: '{"event":{"type":"message_create","id":"1410145389026676741","created_timestamp":"1625039834635","message_create":{"target":{"recipient_id":"<TWITTER_DM_RECIPIENT>"},"sender_id":"<TWITTER_USER_ID>","message_data":{"text":"Please
|
||||||
ignore this message.","entities":{"hashtags":[],"symbols":[],"user_mentions":[],"urls":[]}}}}}'
|
ignore this message.","entities":{"hashtags":[],"symbols":[],"user_mentions":[],"urls":[]}}}}}'
|
||||||
http_version:
|
recorded_at: Wed, 30 Jun 2021 07:57:14 GMT
|
||||||
recorded_at: Tue, 31 Mar 2020 11:43:15 GMT
|
recorded_with: VCR 6.0.0
|
||||||
recorded_with: VCR 4.0.0
|
|
|
@ -0,0 +1,80 @@
|
||||||
|
---
|
||||||
|
http_interactions:
|
||||||
|
- request:
|
||||||
|
method: post
|
||||||
|
uri: https://api.twitter.com/1.1/statuses/update.json
|
||||||
|
body:
|
||||||
|
encoding: UTF-8
|
||||||
|
string: in_reply_to_status_id&status=Saepe+magni+rerum+molestiae.
|
||||||
|
headers:
|
||||||
|
User-Agent:
|
||||||
|
- TwitterRubyGem/7.0.0
|
||||||
|
Authorization:
|
||||||
|
- OAuth oauth_consumer_key="<TWITTER_CONSUMER_KEY>", oauth_nonce="db9969602d9ead08ffd70041622b822b",
|
||||||
|
oauth_signature="XoGhQ5E3%2FyoiWIY1slQ2X9CdzXQ%3D", oauth_signature_method="HMAC-SHA1",
|
||||||
|
oauth_timestamp="1625040242", oauth_token="<TWITTER_OAUTH_TOKEN>", oauth_version="1.0"
|
||||||
|
Connection:
|
||||||
|
- close
|
||||||
|
Content-Type:
|
||||||
|
- application/x-www-form-urlencoded
|
||||||
|
Host:
|
||||||
|
- api.twitter.com
|
||||||
|
response:
|
||||||
|
status:
|
||||||
|
code: 200
|
||||||
|
message: OK
|
||||||
|
headers:
|
||||||
|
Date:
|
||||||
|
- Wed, 30 Jun 2021 08:04:02 GMT
|
||||||
|
Pragma:
|
||||||
|
- no-cache
|
||||||
|
Server:
|
||||||
|
- tsa_o
|
||||||
|
Status:
|
||||||
|
- 200 OK
|
||||||
|
Expires:
|
||||||
|
- Tue, 31 Mar 1981 05:00:00 GMT
|
||||||
|
Set-Cookie:
|
||||||
|
- guest_id=v1%3A162504024210520203; Max-Age=63072000; Expires=Fri, 30 Jun 2023
|
||||||
|
08:04:02 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
|
||||||
|
- lang=en; Path=/
|
||||||
|
- personalization_id="v1_chC9c2CfsotXWg1qZoZRUA=="; Max-Age=63072000; Expires=Fri,
|
||||||
|
30 Jun 2023 08:04:02 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
|
||||||
|
Content-Type:
|
||||||
|
- application/json;charset=utf-8
|
||||||
|
Cache-Control:
|
||||||
|
- no-cache, no-store, must-revalidate, pre-check=0, post-check=0
|
||||||
|
Last-Modified:
|
||||||
|
- Wed, 30 Jun 2021 08:04:02 GMT
|
||||||
|
X-Transaction:
|
||||||
|
- c05c8120cb1398eb
|
||||||
|
Content-Length:
|
||||||
|
- '1971'
|
||||||
|
X-Access-Level:
|
||||||
|
- read-write-directmessages
|
||||||
|
X-Frame-Options:
|
||||||
|
- SAMEORIGIN
|
||||||
|
X-Xss-Protection:
|
||||||
|
- '0'
|
||||||
|
Content-Disposition:
|
||||||
|
- attachment; filename=json.json
|
||||||
|
X-Content-Type-Options:
|
||||||
|
- nosniff
|
||||||
|
X-Twitter-Response-Tags:
|
||||||
|
- BouncerCompliant
|
||||||
|
Strict-Transport-Security:
|
||||||
|
- max-age=631138519
|
||||||
|
X-Connection-Hash:
|
||||||
|
- f16139b08e51a822e2938d48e72974006b576ce70a9b368617a87dad89a12a0d
|
||||||
|
Connection:
|
||||||
|
- close
|
||||||
|
body:
|
||||||
|
encoding: UTF-8
|
||||||
|
string: '{"created_at":"Wed Jun 30 08:04:02 +0000 2021","id":1410147098113282048,"id_str":"1410147098113282048","text":"Saepe
|
||||||
|
magni rerum molestiae.","truncated":false,"entities":{"hashtags":[],"symbols":[],"user_mentions":[],"urls":[]},"source":"\u003ca
|
||||||
|
href=\"https:\/\/zammad.com\" rel=\"nofollow\"\u003eZammad Integration Test\u003c\/a\u003e","in_reply_to_status_id":null,"in_reply_to_status_id_str":null,"in_reply_to_user_id":null,"in_reply_to_user_id_str":null,"in_reply_to_screen_name":null,"user":{"id":<TWITTER_USER_ID>,"id_str":"<TWITTER_USER_ID>","name":"Zammad
|
||||||
|
Integration Test Account","screen_name":"ZammadTesting","location":"","description":"Zammad
|
||||||
|
Integration Test Account","url":null,"entities":{"description":{"urls":[]}},"protected":false,"followers_count":0,"friends_count":0,"listed_count":0,"created_at":"Fri
|
||||||
|
Jun 25 07:21:40 +0000 2021","favourites_count":0,"utc_offset":null,"time_zone":null,"geo_enabled":false,"verified":false,"statuses_count":128,"lang":null,"contributors_enabled":false,"is_translator":false,"is_translation_enabled":false,"profile_background_color":"F5F8FA","profile_background_image_url":null,"profile_background_image_url_https":null,"profile_background_tile":false,"profile_image_url":"http:\/\/pbs.twimg.com\/profile_images\/1408343046731845632\/K56uhLP2_normal.png","profile_image_url_https":"https:\/\/pbs.twimg.com\/profile_images\/1408343046731845632\/K56uhLP2_normal.png","profile_link_color":"1DA1F2","profile_sidebar_border_color":"C0DEED","profile_sidebar_fill_color":"DDEEF6","profile_text_color":"333333","profile_use_background_image":true,"has_extended_profile":true,"default_profile":true,"default_profile_image":false,"following":false,"follow_request_sent":false,"notifications":false,"translator_type":"none","withheld_in_countries":[]},"geo":null,"coordinates":null,"place":null,"contributors":null,"is_quote_status":false,"retweet_count":0,"favorite_count":0,"favorited":false,"retweeted":false,"lang":"und"}'
|
||||||
|
recorded_at: Wed, 30 Jun 2021 08:04:02 GMT
|
||||||
|
recorded_with: VCR 6.0.0
|
|
@ -0,0 +1,80 @@
|
||||||
|
---
|
||||||
|
http_interactions:
|
||||||
|
- request:
|
||||||
|
method: post
|
||||||
|
uri: https://api.twitter.com/1.1/statuses/update.json
|
||||||
|
body:
|
||||||
|
encoding: UTF-8
|
||||||
|
string: in_reply_to_status_id&status=Voluptas+assumenda+repellat+optio.
|
||||||
|
headers:
|
||||||
|
User-Agent:
|
||||||
|
- TwitterRubyGem/7.0.0
|
||||||
|
Authorization:
|
||||||
|
- OAuth oauth_consumer_key="<TWITTER_CONSUMER_KEY>", oauth_nonce="6f1b0974d52c7dff4ada82cfd71d417f",
|
||||||
|
oauth_signature="eaBevjZP0KW0L19TZEOqudVUJ3A%3D", oauth_signature_method="HMAC-SHA1",
|
||||||
|
oauth_timestamp="1625040241", oauth_token="<TWITTER_OAUTH_TOKEN>", oauth_version="1.0"
|
||||||
|
Connection:
|
||||||
|
- close
|
||||||
|
Content-Type:
|
||||||
|
- application/x-www-form-urlencoded
|
||||||
|
Host:
|
||||||
|
- api.twitter.com
|
||||||
|
response:
|
||||||
|
status:
|
||||||
|
code: 200
|
||||||
|
message: OK
|
||||||
|
headers:
|
||||||
|
Date:
|
||||||
|
- Wed, 30 Jun 2021 08:04:01 GMT
|
||||||
|
Pragma:
|
||||||
|
- no-cache
|
||||||
|
Server:
|
||||||
|
- tsa_o
|
||||||
|
Status:
|
||||||
|
- 200 OK
|
||||||
|
Expires:
|
||||||
|
- Tue, 31 Mar 1981 05:00:00 GMT
|
||||||
|
Set-Cookie:
|
||||||
|
- guest_id=v1%3A162504024151908399; Max-Age=63072000; Expires=Fri, 30 Jun 2023
|
||||||
|
08:04:01 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
|
||||||
|
- lang=en; Path=/
|
||||||
|
- personalization_id="v1_QVUh69nRFJYUTfXAhSUs5g=="; Max-Age=63072000; Expires=Fri,
|
||||||
|
30 Jun 2023 08:04:01 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
|
||||||
|
Content-Type:
|
||||||
|
- application/json;charset=utf-8
|
||||||
|
Cache-Control:
|
||||||
|
- no-cache, no-store, must-revalidate, pre-check=0, post-check=0
|
||||||
|
Last-Modified:
|
||||||
|
- Wed, 30 Jun 2021 08:04:01 GMT
|
||||||
|
X-Transaction:
|
||||||
|
- 55a8df94767c52b2
|
||||||
|
Content-Length:
|
||||||
|
- '1976'
|
||||||
|
X-Access-Level:
|
||||||
|
- read-write-directmessages
|
||||||
|
X-Frame-Options:
|
||||||
|
- SAMEORIGIN
|
||||||
|
X-Xss-Protection:
|
||||||
|
- '0'
|
||||||
|
Content-Disposition:
|
||||||
|
- attachment; filename=json.json
|
||||||
|
X-Content-Type-Options:
|
||||||
|
- nosniff
|
||||||
|
X-Twitter-Response-Tags:
|
||||||
|
- BouncerCompliant
|
||||||
|
Strict-Transport-Security:
|
||||||
|
- max-age=631138519
|
||||||
|
X-Connection-Hash:
|
||||||
|
- 9b9ae44edcf70cf85e5c009ec36793d295653fdd01a2a05a833ce3e1ce315c6b
|
||||||
|
Connection:
|
||||||
|
- close
|
||||||
|
body:
|
||||||
|
encoding: UTF-8
|
||||||
|
string: '{"created_at":"Wed Jun 30 08:04:01 +0000 2021","id":1410147095659565058,"id_str":"1410147095659565058","text":"Voluptas
|
||||||
|
assumenda repellat optio.","truncated":false,"entities":{"hashtags":[],"symbols":[],"user_mentions":[],"urls":[]},"source":"\u003ca
|
||||||
|
href=\"https:\/\/zammad.com\" rel=\"nofollow\"\u003eZammad Integration Test\u003c\/a\u003e","in_reply_to_status_id":null,"in_reply_to_status_id_str":null,"in_reply_to_user_id":null,"in_reply_to_user_id_str":null,"in_reply_to_screen_name":null,"user":{"id":<TWITTER_USER_ID>,"id_str":"<TWITTER_USER_ID>","name":"Zammad
|
||||||
|
Integration Test Account","screen_name":"ZammadTesting","location":"","description":"Zammad
|
||||||
|
Integration Test Account","url":null,"entities":{"description":{"urls":[]}},"protected":false,"followers_count":0,"friends_count":0,"listed_count":0,"created_at":"Fri
|
||||||
|
Jun 25 07:21:40 +0000 2021","favourites_count":0,"utc_offset":null,"time_zone":null,"geo_enabled":false,"verified":false,"statuses_count":127,"lang":null,"contributors_enabled":false,"is_translator":false,"is_translation_enabled":false,"profile_background_color":"F5F8FA","profile_background_image_url":null,"profile_background_image_url_https":null,"profile_background_tile":false,"profile_image_url":"http:\/\/pbs.twimg.com\/profile_images\/1408343046731845632\/K56uhLP2_normal.png","profile_image_url_https":"https:\/\/pbs.twimg.com\/profile_images\/1408343046731845632\/K56uhLP2_normal.png","profile_link_color":"1DA1F2","profile_sidebar_border_color":"C0DEED","profile_sidebar_fill_color":"DDEEF6","profile_text_color":"333333","profile_use_background_image":true,"has_extended_profile":true,"default_profile":true,"default_profile_image":false,"following":false,"follow_request_sent":false,"notifications":false,"translator_type":"none","withheld_in_countries":[]},"geo":null,"coordinates":null,"place":null,"contributors":null,"is_quote_status":false,"retweet_count":0,"favorite_count":0,"favorited":false,"retweeted":false,"lang":"ca"}'
|
||||||
|
recorded_at: Wed, 30 Jun 2021 08:04:01 GMT
|
||||||
|
recorded_with: VCR 6.0.0
|
|
@ -0,0 +1,80 @@
|
||||||
|
---
|
||||||
|
http_interactions:
|
||||||
|
- request:
|
||||||
|
method: post
|
||||||
|
uri: https://api.twitter.com/1.1/statuses/update.json
|
||||||
|
body:
|
||||||
|
encoding: UTF-8
|
||||||
|
string: in_reply_to_status_id&status=Necessitatibus+expedita+unde+laborum.
|
||||||
|
headers:
|
||||||
|
User-Agent:
|
||||||
|
- TwitterRubyGem/7.0.0
|
||||||
|
Authorization:
|
||||||
|
- OAuth oauth_consumer_key="<TWITTER_CONSUMER_KEY>", oauth_nonce="6d2b091bec240c588320b4f98630a8e5",
|
||||||
|
oauth_signature="wfUzhPeD8b7B4NTnF1zq4WgJqQw%3D", oauth_signature_method="HMAC-SHA1",
|
||||||
|
oauth_timestamp="1625040243", oauth_token="<TWITTER_OAUTH_TOKEN>", oauth_version="1.0"
|
||||||
|
Connection:
|
||||||
|
- close
|
||||||
|
Content-Type:
|
||||||
|
- application/x-www-form-urlencoded
|
||||||
|
Host:
|
||||||
|
- api.twitter.com
|
||||||
|
response:
|
||||||
|
status:
|
||||||
|
code: 200
|
||||||
|
message: OK
|
||||||
|
headers:
|
||||||
|
Date:
|
||||||
|
- Wed, 30 Jun 2021 08:04:03 GMT
|
||||||
|
Pragma:
|
||||||
|
- no-cache
|
||||||
|
Server:
|
||||||
|
- tsa_o
|
||||||
|
Status:
|
||||||
|
- 200 OK
|
||||||
|
Expires:
|
||||||
|
- Tue, 31 Mar 1981 05:00:00 GMT
|
||||||
|
Set-Cookie:
|
||||||
|
- guest_id=v1%3A162504024326511512; Max-Age=63072000; Expires=Fri, 30 Jun 2023
|
||||||
|
08:04:03 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
|
||||||
|
- lang=en; Path=/
|
||||||
|
- personalization_id="v1_92BrbDMqMJKhLIdJdokrvw=="; Max-Age=63072000; Expires=Fri,
|
||||||
|
30 Jun 2023 08:04:03 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
|
||||||
|
Content-Type:
|
||||||
|
- application/json;charset=utf-8
|
||||||
|
Cache-Control:
|
||||||
|
- no-cache, no-store, must-revalidate, pre-check=0, post-check=0
|
||||||
|
Last-Modified:
|
||||||
|
- Wed, 30 Jun 2021 08:04:03 GMT
|
||||||
|
X-Transaction:
|
||||||
|
- ea868c467b3c2eaa
|
||||||
|
Content-Length:
|
||||||
|
- '1979'
|
||||||
|
X-Access-Level:
|
||||||
|
- read-write-directmessages
|
||||||
|
X-Frame-Options:
|
||||||
|
- SAMEORIGIN
|
||||||
|
X-Xss-Protection:
|
||||||
|
- '0'
|
||||||
|
Content-Disposition:
|
||||||
|
- attachment; filename=json.json
|
||||||
|
X-Content-Type-Options:
|
||||||
|
- nosniff
|
||||||
|
X-Twitter-Response-Tags:
|
||||||
|
- BouncerCompliant
|
||||||
|
Strict-Transport-Security:
|
||||||
|
- max-age=631138519
|
||||||
|
X-Connection-Hash:
|
||||||
|
- b6d9f7655334bfddbcf23ea4d0cb0d345faa94ec5db7a07ed7259cc9d6375129
|
||||||
|
Connection:
|
||||||
|
- close
|
||||||
|
body:
|
||||||
|
encoding: UTF-8
|
||||||
|
string: '{"created_at":"Wed Jun 30 08:04:03 +0000 2021","id":1410147102978682884,"id_str":"1410147102978682884","text":"Necessitatibus
|
||||||
|
expedita unde laborum.","truncated":false,"entities":{"hashtags":[],"symbols":[],"user_mentions":[],"urls":[]},"source":"\u003ca
|
||||||
|
href=\"https:\/\/zammad.com\" rel=\"nofollow\"\u003eZammad Integration Test\u003c\/a\u003e","in_reply_to_status_id":null,"in_reply_to_status_id_str":null,"in_reply_to_user_id":null,"in_reply_to_user_id_str":null,"in_reply_to_screen_name":null,"user":{"id":<TWITTER_USER_ID>,"id_str":"<TWITTER_USER_ID>","name":"Zammad
|
||||||
|
Integration Test Account","screen_name":"ZammadTesting","location":"","description":"Zammad
|
||||||
|
Integration Test Account","url":null,"entities":{"description":{"urls":[]}},"protected":false,"followers_count":0,"friends_count":0,"listed_count":0,"created_at":"Fri
|
||||||
|
Jun 25 07:21:40 +0000 2021","favourites_count":0,"utc_offset":null,"time_zone":null,"geo_enabled":false,"verified":false,"statuses_count":129,"lang":null,"contributors_enabled":false,"is_translator":false,"is_translation_enabled":false,"profile_background_color":"F5F8FA","profile_background_image_url":null,"profile_background_image_url_https":null,"profile_background_tile":false,"profile_image_url":"http:\/\/pbs.twimg.com\/profile_images\/1408343046731845632\/K56uhLP2_normal.png","profile_image_url_https":"https:\/\/pbs.twimg.com\/profile_images\/1408343046731845632\/K56uhLP2_normal.png","profile_link_color":"1DA1F2","profile_sidebar_border_color":"C0DEED","profile_sidebar_fill_color":"DDEEF6","profile_text_color":"333333","profile_use_background_image":true,"has_extended_profile":true,"default_profile":true,"default_profile_image":false,"following":false,"follow_request_sent":false,"notifications":false,"translator_type":"none","withheld_in_countries":[]},"geo":null,"coordinates":null,"place":null,"contributors":null,"is_quote_status":false,"retweet_count":0,"favorite_count":0,"favorited":false,"retweeted":false,"lang":"ca"}'
|
||||||
|
recorded_at: Wed, 30 Jun 2021 08:04:03 GMT
|
||||||
|
recorded_with: VCR 6.0.0
|
|
@ -0,0 +1,80 @@
|
||||||
|
---
|
||||||
|
http_interactions:
|
||||||
|
- request:
|
||||||
|
method: post
|
||||||
|
uri: https://api.twitter.com/1.1/statuses/update.json
|
||||||
|
body:
|
||||||
|
encoding: UTF-8
|
||||||
|
string: in_reply_to_status_id&status=Magni+perspiciatis+rerum+amet.
|
||||||
|
headers:
|
||||||
|
User-Agent:
|
||||||
|
- TwitterRubyGem/7.0.0
|
||||||
|
Authorization:
|
||||||
|
- OAuth oauth_consumer_key="<TWITTER_CONSUMER_KEY>", oauth_nonce="ac705ce838abb7ee9baae0be97a3b7cf",
|
||||||
|
oauth_signature="o%2BRO1mAQoTMxZ0SnZVjEOYPbEeI%3D", oauth_signature_method="HMAC-SHA1",
|
||||||
|
oauth_timestamp="1625040242", oauth_token="<TWITTER_OAUTH_TOKEN>", oauth_version="1.0"
|
||||||
|
Connection:
|
||||||
|
- close
|
||||||
|
Content-Type:
|
||||||
|
- application/x-www-form-urlencoded
|
||||||
|
Host:
|
||||||
|
- api.twitter.com
|
||||||
|
response:
|
||||||
|
status:
|
||||||
|
code: 200
|
||||||
|
message: OK
|
||||||
|
headers:
|
||||||
|
Date:
|
||||||
|
- Wed, 30 Jun 2021 08:04:02 GMT
|
||||||
|
Pragma:
|
||||||
|
- no-cache
|
||||||
|
Server:
|
||||||
|
- tsa_o
|
||||||
|
Status:
|
||||||
|
- 200 OK
|
||||||
|
Expires:
|
||||||
|
- Tue, 31 Mar 1981 05:00:00 GMT
|
||||||
|
Set-Cookie:
|
||||||
|
- guest_id=v1%3A162504024264913288; Max-Age=63072000; Expires=Fri, 30 Jun 2023
|
||||||
|
08:04:02 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
|
||||||
|
- lang=en; Path=/
|
||||||
|
- personalization_id="v1_owB1Shm4zVfVndkRFNqK5g=="; Max-Age=63072000; Expires=Fri,
|
||||||
|
30 Jun 2023 08:04:02 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
|
||||||
|
Content-Type:
|
||||||
|
- application/json;charset=utf-8
|
||||||
|
Cache-Control:
|
||||||
|
- no-cache, no-store, must-revalidate, pre-check=0, post-check=0
|
||||||
|
Last-Modified:
|
||||||
|
- Wed, 30 Jun 2021 08:04:02 GMT
|
||||||
|
X-Transaction:
|
||||||
|
- 9e41d355afd59e56
|
||||||
|
Content-Length:
|
||||||
|
- '1972'
|
||||||
|
X-Access-Level:
|
||||||
|
- read-write-directmessages
|
||||||
|
X-Frame-Options:
|
||||||
|
- SAMEORIGIN
|
||||||
|
X-Xss-Protection:
|
||||||
|
- '0'
|
||||||
|
Content-Disposition:
|
||||||
|
- attachment; filename=json.json
|
||||||
|
X-Content-Type-Options:
|
||||||
|
- nosniff
|
||||||
|
X-Twitter-Response-Tags:
|
||||||
|
- BouncerCompliant
|
||||||
|
Strict-Transport-Security:
|
||||||
|
- max-age=631138519
|
||||||
|
X-Connection-Hash:
|
||||||
|
- 04523b0e54204fa9028cce2d51f355c21adb9b466a7b83c02fe5385421690eed
|
||||||
|
Connection:
|
||||||
|
- close
|
||||||
|
body:
|
||||||
|
encoding: UTF-8
|
||||||
|
string: '{"created_at":"Wed Jun 30 08:04:02 +0000 2021","id":1410147100403417088,"id_str":"1410147100403417088","text":"Magni
|
||||||
|
perspiciatis rerum amet.","truncated":false,"entities":{"hashtags":[],"symbols":[],"user_mentions":[],"urls":[]},"source":"\u003ca
|
||||||
|
href=\"https:\/\/zammad.com\" rel=\"nofollow\"\u003eZammad Integration Test\u003c\/a\u003e","in_reply_to_status_id":null,"in_reply_to_status_id_str":null,"in_reply_to_user_id":null,"in_reply_to_user_id_str":null,"in_reply_to_screen_name":null,"user":{"id":<TWITTER_USER_ID>,"id_str":"<TWITTER_USER_ID>","name":"Zammad
|
||||||
|
Integration Test Account","screen_name":"ZammadTesting","location":"","description":"Zammad
|
||||||
|
Integration Test Account","url":null,"entities":{"description":{"urls":[]}},"protected":false,"followers_count":0,"friends_count":0,"listed_count":0,"created_at":"Fri
|
||||||
|
Jun 25 07:21:40 +0000 2021","favourites_count":0,"utc_offset":null,"time_zone":null,"geo_enabled":false,"verified":false,"statuses_count":129,"lang":null,"contributors_enabled":false,"is_translator":false,"is_translation_enabled":false,"profile_background_color":"F5F8FA","profile_background_image_url":null,"profile_background_image_url_https":null,"profile_background_tile":false,"profile_image_url":"http:\/\/pbs.twimg.com\/profile_images\/1408343046731845632\/K56uhLP2_normal.png","profile_image_url_https":"https:\/\/pbs.twimg.com\/profile_images\/1408343046731845632\/K56uhLP2_normal.png","profile_link_color":"1DA1F2","profile_sidebar_border_color":"C0DEED","profile_sidebar_fill_color":"DDEEF6","profile_text_color":"333333","profile_use_background_image":true,"has_extended_profile":true,"default_profile":true,"default_profile_image":false,"following":false,"follow_request_sent":false,"notifications":false,"translator_type":"none","withheld_in_countries":[]},"geo":null,"coordinates":null,"place":null,"contributors":null,"is_quote_status":false,"retweet_count":0,"favorite_count":0,"favorited":false,"retweeted":false,"lang":"ca"}'
|
||||||
|
recorded_at: Wed, 30 Jun 2021 08:04:02 GMT
|
||||||
|
recorded_with: VCR 6.0.0
|
|
@ -0,0 +1,81 @@
|
||||||
|
---
|
||||||
|
http_interactions:
|
||||||
|
- request:
|
||||||
|
method: post
|
||||||
|
uri: https://api.twitter.com/1.1/statuses/update.json
|
||||||
|
body:
|
||||||
|
encoding: UTF-8
|
||||||
|
string: in_reply_to_status_id&status=%40zammadtesting+Don%E2%80%99t+mind+me%2C+just+testing+the+API
|
||||||
|
headers:
|
||||||
|
User-Agent:
|
||||||
|
- TwitterRubyGem/7.0.0
|
||||||
|
Authorization:
|
||||||
|
- OAuth oauth_consumer_key="<TWITTER_CONSUMER_KEY>", oauth_nonce="f77ac505b61754bfbde7a42892d72f74",
|
||||||
|
oauth_signature="n5IyO1qHpjsXPTwt8lha%2BFgN3vM%3D", oauth_signature_method="HMAC-SHA1",
|
||||||
|
oauth_timestamp="1625040243", oauth_token="<TWITTER_OAUTH_TOKEN>", oauth_version="1.0"
|
||||||
|
Connection:
|
||||||
|
- close
|
||||||
|
Content-Type:
|
||||||
|
- application/x-www-form-urlencoded
|
||||||
|
Host:
|
||||||
|
- api.twitter.com
|
||||||
|
response:
|
||||||
|
status:
|
||||||
|
code: 200
|
||||||
|
message: OK
|
||||||
|
headers:
|
||||||
|
Date:
|
||||||
|
- Wed, 30 Jun 2021 08:04:03 GMT
|
||||||
|
Pragma:
|
||||||
|
- no-cache
|
||||||
|
Server:
|
||||||
|
- tsa_o
|
||||||
|
Status:
|
||||||
|
- 200 OK
|
||||||
|
Expires:
|
||||||
|
- Tue, 31 Mar 1981 05:00:00 GMT
|
||||||
|
Set-Cookie:
|
||||||
|
- guest_id=v1%3A162504024379781362; Max-Age=63072000; Expires=Fri, 30 Jun 2023
|
||||||
|
08:04:03 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
|
||||||
|
- lang=en; Path=/
|
||||||
|
- personalization_id="v1_G6r0btkeauSX2rnAtARLog=="; Max-Age=63072000; Expires=Fri,
|
||||||
|
30 Jun 2023 08:04:03 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
|
||||||
|
Content-Type:
|
||||||
|
- application/json;charset=utf-8
|
||||||
|
Cache-Control:
|
||||||
|
- no-cache, no-store, must-revalidate, pre-check=0, post-check=0
|
||||||
|
Last-Modified:
|
||||||
|
- Wed, 30 Jun 2021 08:04:03 GMT
|
||||||
|
X-Transaction:
|
||||||
|
- 7b7cb7bcda114d15
|
||||||
|
Content-Length:
|
||||||
|
- '2185'
|
||||||
|
X-Access-Level:
|
||||||
|
- read-write-directmessages
|
||||||
|
X-Frame-Options:
|
||||||
|
- SAMEORIGIN
|
||||||
|
X-Xss-Protection:
|
||||||
|
- '0'
|
||||||
|
Content-Disposition:
|
||||||
|
- attachment; filename=json.json
|
||||||
|
X-Content-Type-Options:
|
||||||
|
- nosniff
|
||||||
|
X-Twitter-Response-Tags:
|
||||||
|
- BouncerCompliant
|
||||||
|
Strict-Transport-Security:
|
||||||
|
- max-age=631138519
|
||||||
|
X-Connection-Hash:
|
||||||
|
- d439bbae23d92067b858b87ee3feba1ce08e9d4a6b2be570665475684729e051
|
||||||
|
Connection:
|
||||||
|
- close
|
||||||
|
body:
|
||||||
|
encoding: UTF-8
|
||||||
|
string: '{"created_at":"Wed Jun 30 08:04:03 +0000 2021","id":1410147105210081287,"id_str":"1410147105210081287","text":"@zammadtesting
|
||||||
|
Don\u2019t mind me, just testing the API","truncated":false,"entities":{"hashtags":[],"symbols":[],"user_mentions":[{"screen_name":"ZammadTesting","name":"Zammad
|
||||||
|
Integration Test Account","id":<TWITTER_USER_ID>,"id_str":"<TWITTER_USER_ID>","indices":[0,14]}],"urls":[]},"source":"\u003ca
|
||||||
|
href=\"https:\/\/zammad.com\" rel=\"nofollow\"\u003eZammad Integration Test\u003c\/a\u003e","in_reply_to_status_id":null,"in_reply_to_status_id_str":null,"in_reply_to_user_id":<TWITTER_USER_ID>,"in_reply_to_user_id_str":"<TWITTER_USER_ID>","in_reply_to_screen_name":"ZammadTesting","user":{"id":<TWITTER_USER_ID>,"id_str":"<TWITTER_USER_ID>","name":"Zammad
|
||||||
|
Integration Test Account","screen_name":"ZammadTesting","location":"","description":"Zammad
|
||||||
|
Integration Test Account","url":null,"entities":{"description":{"urls":[]}},"protected":false,"followers_count":0,"friends_count":0,"listed_count":0,"created_at":"Fri
|
||||||
|
Jun 25 07:21:40 +0000 2021","favourites_count":0,"utc_offset":null,"time_zone":null,"geo_enabled":false,"verified":false,"statuses_count":131,"lang":null,"contributors_enabled":false,"is_translator":false,"is_translation_enabled":false,"profile_background_color":"F5F8FA","profile_background_image_url":null,"profile_background_image_url_https":null,"profile_background_tile":false,"profile_image_url":"http:\/\/pbs.twimg.com\/profile_images\/1408343046731845632\/K56uhLP2_normal.png","profile_image_url_https":"https:\/\/pbs.twimg.com\/profile_images\/1408343046731845632\/K56uhLP2_normal.png","profile_link_color":"1DA1F2","profile_sidebar_border_color":"C0DEED","profile_sidebar_fill_color":"DDEEF6","profile_text_color":"333333","profile_use_background_image":true,"has_extended_profile":true,"default_profile":true,"default_profile_image":false,"following":false,"follow_request_sent":false,"notifications":false,"translator_type":"none","withheld_in_countries":[]},"geo":null,"coordinates":null,"place":null,"contributors":null,"is_quote_status":false,"retweet_count":0,"favorite_count":0,"favorited":false,"retweeted":false,"lang":"en"}'
|
||||||
|
recorded_at: Wed, 30 Jun 2021 08:04:03 GMT
|
||||||
|
recorded_with: VCR 6.0.0
|
|
@ -1,84 +0,0 @@
|
||||||
---
|
|
||||||
http_interactions:
|
|
||||||
- request:
|
|
||||||
method: post
|
|
||||||
uri: https://api.twitter.com/1.1/statuses/update.json
|
|
||||||
body:
|
|
||||||
encoding: UTF-8
|
|
||||||
string: in_reply_to_status_id&status=Quos+nulla+asperiores+ut.
|
|
||||||
headers:
|
|
||||||
User-Agent:
|
|
||||||
- TwitterRubyGem/6.2.0
|
|
||||||
Authorization:
|
|
||||||
- OAuth oauth_consumer_key="REDACTED", oauth_nonce="00732df7fa44269cd335acf38d6abe42",
|
|
||||||
oauth_signature="Qna858PdKKMrFjGZEYdm8oU8g6k%3D", oauth_signature_method="HMAC-SHA1",
|
|
||||||
oauth_timestamp="1585651172", oauth_token="REDACTED",
|
|
||||||
oauth_version="1.0"
|
|
||||||
Connection:
|
|
||||||
- close
|
|
||||||
Content-Type:
|
|
||||||
- application/x-www-form-urlencoded
|
|
||||||
Host:
|
|
||||||
- api.twitter.com
|
|
||||||
response:
|
|
||||||
status:
|
|
||||||
code: 200
|
|
||||||
message: OK
|
|
||||||
headers:
|
|
||||||
Cache-Control:
|
|
||||||
- no-cache, no-store, must-revalidate, pre-check=0, post-check=0
|
|
||||||
Connection:
|
|
||||||
- close
|
|
||||||
Content-Disposition:
|
|
||||||
- attachment; filename=json.json
|
|
||||||
Content-Length:
|
|
||||||
- '1882'
|
|
||||||
Content-Type:
|
|
||||||
- application/json;charset=utf-8
|
|
||||||
Date:
|
|
||||||
- Tue, 31 Mar 2020 10:39:32 GMT
|
|
||||||
Expires:
|
|
||||||
- Tue, 31 Mar 1981 05:00:00 GMT
|
|
||||||
Last-Modified:
|
|
||||||
- Tue, 31 Mar 2020 10:39:32 GMT
|
|
||||||
Pragma:
|
|
||||||
- no-cache
|
|
||||||
Server:
|
|
||||||
- tsa_m
|
|
||||||
Set-Cookie:
|
|
||||||
- guest_id=v1%3A158565117286241661; Max-Age=63072000; Expires=Thu, 31 Mar 2022
|
|
||||||
10:39:32 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
|
|
||||||
- lang=en; Path=/
|
|
||||||
- personalization_id="v1_VZPA3OsrdQH41ZancPvXAg=="; Max-Age=63072000; Expires=Thu,
|
|
||||||
31 Mar 2022 10:39:32 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
|
|
||||||
Status:
|
|
||||||
- 200 OK
|
|
||||||
Strict-Transport-Security:
|
|
||||||
- max-age=631138519
|
|
||||||
X-Access-Level:
|
|
||||||
- read-write-directmessages
|
|
||||||
X-Connection-Hash:
|
|
||||||
- 2d2380f4b7cda58563ac424cc1897507
|
|
||||||
X-Content-Type-Options:
|
|
||||||
- nosniff
|
|
||||||
X-Frame-Options:
|
|
||||||
- SAMEORIGIN
|
|
||||||
X-Response-Time:
|
|
||||||
- '175'
|
|
||||||
X-Transaction:
|
|
||||||
- 0024cb7500e82636
|
|
||||||
X-Tsa-Request-Body-Time:
|
|
||||||
- '0'
|
|
||||||
X-Twitter-Response-Tags:
|
|
||||||
- BouncerCompliant
|
|
||||||
X-Xss-Protection:
|
|
||||||
- '0'
|
|
||||||
body:
|
|
||||||
encoding: UTF-8
|
|
||||||
string: '{"created_at":"Tue Mar 31 10:39:32 +0000 2020","id":1244937367435108360,"id_str":"1244937367435108360","text":"Quos
|
|
||||||
nulla asperiores ut.","truncated":false,"entities":{"hashtags":[],"symbols":[],"user_mentions":[],"urls":[]},"source":"\u003ca
|
|
||||||
href=\"https:\/\/zammad.com\/\" rel=\"nofollow\"\u003ezammad\u003c\/a\u003e","in_reply_to_status_id":null,"in_reply_to_status_id_str":null,"in_reply_to_user_id":null,"in_reply_to_user_id_str":null,"in_reply_to_screen_name":null,"user":{"id":1205290247124217856,"id_str":"1205290247124217856","name":"pennbrooke","screen_name":"pennbrooke1","location":"","description":"","url":null,"entities":{"description":{"urls":[]}},"protected":false,"followers_count":0,"friends_count":1,"listed_count":0,"created_at":"Fri
|
|
||||||
Dec 13 00:56:10 +0000 2019","favourites_count":0,"utc_offset":null,"time_zone":null,"geo_enabled":false,"verified":false,"statuses_count":21,"lang":null,"contributors_enabled":false,"is_translator":false,"is_translation_enabled":false,"profile_background_color":"F5F8FA","profile_background_image_url":null,"profile_background_image_url_https":null,"profile_background_tile":false,"profile_image_url":"http:\/\/abs.twimg.com\/sticky\/default_profile_images\/default_profile_normal.png","profile_image_url_https":"https:\/\/abs.twimg.com\/sticky\/default_profile_images\/default_profile_normal.png","profile_link_color":"1DA1F2","profile_sidebar_border_color":"C0DEED","profile_sidebar_fill_color":"DDEEF6","profile_text_color":"333333","profile_use_background_image":true,"has_extended_profile":false,"default_profile":true,"default_profile_image":true,"following":false,"follow_request_sent":false,"notifications":false,"translator_type":"none"},"geo":null,"coordinates":null,"place":null,"contributors":null,"is_quote_status":false,"retweet_count":0,"favorite_count":0,"favorited":false,"retweeted":false,"lang":"ca"}'
|
|
||||||
http_version:
|
|
||||||
recorded_at: Tue, 31 Mar 2020 10:39:33 GMT
|
|
||||||
recorded_with: VCR 4.0.0
|
|
|
@ -1,84 +0,0 @@
|
||||||
---
|
|
||||||
http_interactions:
|
|
||||||
- request:
|
|
||||||
method: post
|
|
||||||
uri: https://api.twitter.com/1.1/statuses/update.json
|
|
||||||
body:
|
|
||||||
encoding: UTF-8
|
|
||||||
string: in_reply_to_status_id&status=Quos+nulla+asperiores+ut.
|
|
||||||
headers:
|
|
||||||
User-Agent:
|
|
||||||
- TwitterRubyGem/6.2.0
|
|
||||||
Authorization:
|
|
||||||
- OAuth oauth_consumer_key="REDACTED", oauth_nonce="00732df7fa44269cd335acf38d6abe42",
|
|
||||||
oauth_signature="Qna858PdKKMrFjGZEYdm8oU8g6k%3D", oauth_signature_method="HMAC-SHA1",
|
|
||||||
oauth_timestamp="1585651172", oauth_token="REDACTED",
|
|
||||||
oauth_version="1.0"
|
|
||||||
Connection:
|
|
||||||
- close
|
|
||||||
Content-Type:
|
|
||||||
- application/x-www-form-urlencoded
|
|
||||||
Host:
|
|
||||||
- api.twitter.com
|
|
||||||
response:
|
|
||||||
status:
|
|
||||||
code: 200
|
|
||||||
message: OK
|
|
||||||
headers:
|
|
||||||
Cache-Control:
|
|
||||||
- no-cache, no-store, must-revalidate, pre-check=0, post-check=0
|
|
||||||
Connection:
|
|
||||||
- close
|
|
||||||
Content-Disposition:
|
|
||||||
- attachment; filename=json.json
|
|
||||||
Content-Length:
|
|
||||||
- '1882'
|
|
||||||
Content-Type:
|
|
||||||
- application/json;charset=utf-8
|
|
||||||
Date:
|
|
||||||
- Tue, 31 Mar 2020 10:39:32 GMT
|
|
||||||
Expires:
|
|
||||||
- Tue, 31 Mar 1981 05:00:00 GMT
|
|
||||||
Last-Modified:
|
|
||||||
- Tue, 31 Mar 2020 10:39:32 GMT
|
|
||||||
Pragma:
|
|
||||||
- no-cache
|
|
||||||
Server:
|
|
||||||
- tsa_m
|
|
||||||
Set-Cookie:
|
|
||||||
- guest_id=v1%3A158565117286241661; Max-Age=63072000; Expires=Thu, 31 Mar 2022
|
|
||||||
10:39:32 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
|
|
||||||
- lang=en; Path=/
|
|
||||||
- personalization_id="v1_VZPA3OsrdQH41ZancPvXAg=="; Max-Age=63072000; Expires=Thu,
|
|
||||||
31 Mar 2022 10:39:32 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
|
|
||||||
Status:
|
|
||||||
- 200 OK
|
|
||||||
Strict-Transport-Security:
|
|
||||||
- max-age=631138519
|
|
||||||
X-Access-Level:
|
|
||||||
- read-write-directmessages
|
|
||||||
X-Connection-Hash:
|
|
||||||
- 2d2380f4b7cda58563ac424cc1897507
|
|
||||||
X-Content-Type-Options:
|
|
||||||
- nosniff
|
|
||||||
X-Frame-Options:
|
|
||||||
- SAMEORIGIN
|
|
||||||
X-Response-Time:
|
|
||||||
- '175'
|
|
||||||
X-Transaction:
|
|
||||||
- 0024cb7500e82636
|
|
||||||
X-Tsa-Request-Body-Time:
|
|
||||||
- '0'
|
|
||||||
X-Twitter-Response-Tags:
|
|
||||||
- BouncerCompliant
|
|
||||||
X-Xss-Protection:
|
|
||||||
- '0'
|
|
||||||
body:
|
|
||||||
encoding: UTF-8
|
|
||||||
string: '{"created_at":"Tue Mar 31 10:39:32 +0000 2020","id":1244937367435108360,"id_str":"1244937367435108360","text":"Quos
|
|
||||||
nulla asperiores ut.","truncated":false,"entities":{"hashtags":[],"symbols":[],"user_mentions":[],"urls":[]},"source":"\u003ca
|
|
||||||
href=\"https:\/\/zammad.com\/\" rel=\"nofollow\"\u003ezammad\u003c\/a\u003e","in_reply_to_status_id":null,"in_reply_to_status_id_str":null,"in_reply_to_user_id":null,"in_reply_to_user_id_str":null,"in_reply_to_screen_name":null,"user":{"id":1205290247124217856,"id_str":"1205290247124217856","name":"pennbrooke","screen_name":"pennbrooke1","location":"","description":"","url":null,"entities":{"description":{"urls":[]}},"protected":false,"followers_count":0,"friends_count":1,"listed_count":0,"created_at":"Fri
|
|
||||||
Dec 13 00:56:10 +0000 2019","favourites_count":0,"utc_offset":null,"time_zone":null,"geo_enabled":false,"verified":false,"statuses_count":21,"lang":null,"contributors_enabled":false,"is_translator":false,"is_translation_enabled":false,"profile_background_color":"F5F8FA","profile_background_image_url":null,"profile_background_image_url_https":null,"profile_background_tile":false,"profile_image_url":"http:\/\/abs.twimg.com\/sticky\/default_profile_images\/default_profile_normal.png","profile_image_url_https":"https:\/\/abs.twimg.com\/sticky\/default_profile_images\/default_profile_normal.png","profile_link_color":"1DA1F2","profile_sidebar_border_color":"C0DEED","profile_sidebar_fill_color":"DDEEF6","profile_text_color":"333333","profile_use_background_image":true,"has_extended_profile":false,"default_profile":true,"default_profile_image":true,"following":false,"follow_request_sent":false,"notifications":false,"translator_type":"none"},"geo":null,"coordinates":null,"place":null,"contributors":null,"is_quote_status":false,"retweet_count":0,"favorite_count":0,"favorited":false,"retweeted":false,"lang":"ca"}'
|
|
||||||
http_version:
|
|
||||||
recorded_at: Tue, 31 Mar 2020 10:39:33 GMT
|
|
||||||
recorded_with: VCR 4.0.0
|
|
|
@ -1,84 +0,0 @@
|
||||||
---
|
|
||||||
http_interactions:
|
|
||||||
- request:
|
|
||||||
method: post
|
|
||||||
uri: https://api.twitter.com/1.1/statuses/update.json
|
|
||||||
body:
|
|
||||||
encoding: UTF-8
|
|
||||||
string: in_reply_to_status_id&status=Nobis+consequatur+et+deleniti.
|
|
||||||
headers:
|
|
||||||
User-Agent:
|
|
||||||
- TwitterRubyGem/6.2.0
|
|
||||||
Authorization:
|
|
||||||
- OAuth oauth_consumer_key="REDACTED", oauth_nonce="ca8e21d95937e7af2b7e1e758342bd3d",
|
|
||||||
oauth_signature="gGxlgbtogX4cd4VS5Dlso8XPNpg%3D", oauth_signature_method="HMAC-SHA1",
|
|
||||||
oauth_timestamp="1585653843", oauth_token="REDACTED",
|
|
||||||
oauth_version="1.0"
|
|
||||||
Connection:
|
|
||||||
- close
|
|
||||||
Content-Type:
|
|
||||||
- application/x-www-form-urlencoded
|
|
||||||
Host:
|
|
||||||
- api.twitter.com
|
|
||||||
response:
|
|
||||||
status:
|
|
||||||
code: 200
|
|
||||||
message: OK
|
|
||||||
headers:
|
|
||||||
Cache-Control:
|
|
||||||
- no-cache, no-store, must-revalidate, pre-check=0, post-check=0
|
|
||||||
Connection:
|
|
||||||
- close
|
|
||||||
Content-Disposition:
|
|
||||||
- attachment; filename=json.json
|
|
||||||
Content-Length:
|
|
||||||
- '1887'
|
|
||||||
Content-Type:
|
|
||||||
- application/json;charset=utf-8
|
|
||||||
Date:
|
|
||||||
- Tue, 31 Mar 2020 11:24:04 GMT
|
|
||||||
Expires:
|
|
||||||
- Tue, 31 Mar 1981 05:00:00 GMT
|
|
||||||
Last-Modified:
|
|
||||||
- Tue, 31 Mar 2020 11:24:04 GMT
|
|
||||||
Pragma:
|
|
||||||
- no-cache
|
|
||||||
Server:
|
|
||||||
- tsa_m
|
|
||||||
Set-Cookie:
|
|
||||||
- guest_id=v1%3A158565384450024079; Max-Age=63072000; Expires=Thu, 31 Mar 2022
|
|
||||||
11:24:04 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
|
|
||||||
- lang=en; Path=/
|
|
||||||
- personalization_id="v1_aMVHuwyntSCutxT7HYN0tg=="; Max-Age=63072000; Expires=Thu,
|
|
||||||
31 Mar 2022 11:24:04 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
|
|
||||||
Status:
|
|
||||||
- 200 OK
|
|
||||||
Strict-Transport-Security:
|
|
||||||
- max-age=631138519
|
|
||||||
X-Access-Level:
|
|
||||||
- read-write-directmessages
|
|
||||||
X-Connection-Hash:
|
|
||||||
- 457eca514c649e33a27f1274228e3968
|
|
||||||
X-Content-Type-Options:
|
|
||||||
- nosniff
|
|
||||||
X-Frame-Options:
|
|
||||||
- SAMEORIGIN
|
|
||||||
X-Response-Time:
|
|
||||||
- '151'
|
|
||||||
X-Transaction:
|
|
||||||
- '00843cce00439a0a'
|
|
||||||
X-Tsa-Request-Body-Time:
|
|
||||||
- '0'
|
|
||||||
X-Twitter-Response-Tags:
|
|
||||||
- BouncerCompliant
|
|
||||||
X-Xss-Protection:
|
|
||||||
- '0'
|
|
||||||
body:
|
|
||||||
encoding: UTF-8
|
|
||||||
string: '{"created_at":"Tue Mar 31 11:24:04 +0000 2020","id":1244948573092896770,"id_str":"1244948573092896770","text":"Nobis
|
|
||||||
consequatur et deleniti.","truncated":false,"entities":{"hashtags":[],"symbols":[],"user_mentions":[],"urls":[]},"source":"\u003ca
|
|
||||||
href=\"https:\/\/zammad.com\/\" rel=\"nofollow\"\u003ezammad\u003c\/a\u003e","in_reply_to_status_id":null,"in_reply_to_status_id_str":null,"in_reply_to_user_id":null,"in_reply_to_user_id_str":null,"in_reply_to_screen_name":null,"user":{"id":1205290247124217856,"id_str":"1205290247124217856","name":"pennbrooke","screen_name":"pennbrooke1","location":"","description":"","url":null,"entities":{"description":{"urls":[]}},"protected":false,"followers_count":0,"friends_count":1,"listed_count":0,"created_at":"Fri
|
|
||||||
Dec 13 00:56:10 +0000 2019","favourites_count":0,"utc_offset":null,"time_zone":null,"geo_enabled":false,"verified":false,"statuses_count":23,"lang":null,"contributors_enabled":false,"is_translator":false,"is_translation_enabled":false,"profile_background_color":"F5F8FA","profile_background_image_url":null,"profile_background_image_url_https":null,"profile_background_tile":false,"profile_image_url":"http:\/\/abs.twimg.com\/sticky\/default_profile_images\/default_profile_normal.png","profile_image_url_https":"https:\/\/abs.twimg.com\/sticky\/default_profile_images\/default_profile_normal.png","profile_link_color":"1DA1F2","profile_sidebar_border_color":"C0DEED","profile_sidebar_fill_color":"DDEEF6","profile_text_color":"333333","profile_use_background_image":true,"has_extended_profile":false,"default_profile":true,"default_profile_image":true,"following":false,"follow_request_sent":false,"notifications":false,"translator_type":"none"},"geo":null,"coordinates":null,"place":null,"contributors":null,"is_quote_status":false,"retweet_count":0,"favorite_count":0,"favorited":false,"retweeted":false,"lang":"ca"}'
|
|
||||||
http_version:
|
|
||||||
recorded_at: Tue, 31 Mar 2020 11:24:04 GMT
|
|
||||||
recorded_with: VCR 4.0.0
|
|
|
@ -1,84 +0,0 @@
|
||||||
---
|
|
||||||
http_interactions:
|
|
||||||
- request:
|
|
||||||
method: post
|
|
||||||
uri: https://api.twitter.com/1.1/statuses/update.json
|
|
||||||
body:
|
|
||||||
encoding: UTF-8
|
|
||||||
string: in_reply_to_status_id&status=Quos+nulla+asperiores+ut.
|
|
||||||
headers:
|
|
||||||
User-Agent:
|
|
||||||
- TwitterRubyGem/6.2.0
|
|
||||||
Authorization:
|
|
||||||
- OAuth oauth_consumer_key="REDACTED", oauth_nonce="00732df7fa44269cd335acf38d6abe42",
|
|
||||||
oauth_signature="Qna858PdKKMrFjGZEYdm8oU8g6k%3D", oauth_signature_method="HMAC-SHA1",
|
|
||||||
oauth_timestamp="1585651172", oauth_token="REDACTED",
|
|
||||||
oauth_version="1.0"
|
|
||||||
Connection:
|
|
||||||
- close
|
|
||||||
Content-Type:
|
|
||||||
- application/x-www-form-urlencoded
|
|
||||||
Host:
|
|
||||||
- api.twitter.com
|
|
||||||
response:
|
|
||||||
status:
|
|
||||||
code: 200
|
|
||||||
message: OK
|
|
||||||
headers:
|
|
||||||
Cache-Control:
|
|
||||||
- no-cache, no-store, must-revalidate, pre-check=0, post-check=0
|
|
||||||
Connection:
|
|
||||||
- close
|
|
||||||
Content-Disposition:
|
|
||||||
- attachment; filename=json.json
|
|
||||||
Content-Length:
|
|
||||||
- '1882'
|
|
||||||
Content-Type:
|
|
||||||
- application/json;charset=utf-8
|
|
||||||
Date:
|
|
||||||
- Tue, 31 Mar 2020 10:39:32 GMT
|
|
||||||
Expires:
|
|
||||||
- Tue, 31 Mar 1981 05:00:00 GMT
|
|
||||||
Last-Modified:
|
|
||||||
- Tue, 31 Mar 2020 10:39:32 GMT
|
|
||||||
Pragma:
|
|
||||||
- no-cache
|
|
||||||
Server:
|
|
||||||
- tsa_m
|
|
||||||
Set-Cookie:
|
|
||||||
- guest_id=v1%3A158565117286241661; Max-Age=63072000; Expires=Thu, 31 Mar 2022
|
|
||||||
10:39:32 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
|
|
||||||
- lang=en; Path=/
|
|
||||||
- personalization_id="v1_VZPA3OsrdQH41ZancPvXAg=="; Max-Age=63072000; Expires=Thu,
|
|
||||||
31 Mar 2022 10:39:32 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
|
|
||||||
Status:
|
|
||||||
- 200 OK
|
|
||||||
Strict-Transport-Security:
|
|
||||||
- max-age=631138519
|
|
||||||
X-Access-Level:
|
|
||||||
- read-write-directmessages
|
|
||||||
X-Connection-Hash:
|
|
||||||
- 2d2380f4b7cda58563ac424cc1897507
|
|
||||||
X-Content-Type-Options:
|
|
||||||
- nosniff
|
|
||||||
X-Frame-Options:
|
|
||||||
- SAMEORIGIN
|
|
||||||
X-Response-Time:
|
|
||||||
- '175'
|
|
||||||
X-Transaction:
|
|
||||||
- 0024cb7500e82636
|
|
||||||
X-Tsa-Request-Body-Time:
|
|
||||||
- '0'
|
|
||||||
X-Twitter-Response-Tags:
|
|
||||||
- BouncerCompliant
|
|
||||||
X-Xss-Protection:
|
|
||||||
- '0'
|
|
||||||
body:
|
|
||||||
encoding: UTF-8
|
|
||||||
string: '{"created_at":"Tue Mar 31 10:39:32 +0000 2020","id":1244937367435108360,"id_str":"1244937367435108360","text":"Quos
|
|
||||||
nulla asperiores ut.","truncated":false,"entities":{"hashtags":[],"symbols":[],"user_mentions":[],"urls":[]},"source":"\u003ca
|
|
||||||
href=\"https:\/\/zammad.com\/\" rel=\"nofollow\"\u003ezammad\u003c\/a\u003e","in_reply_to_status_id":null,"in_reply_to_status_id_str":null,"in_reply_to_user_id":null,"in_reply_to_user_id_str":null,"in_reply_to_screen_name":null,"user":{"id":1205290247124217856,"id_str":"1205290247124217856","name":"pennbrooke","screen_name":"pennbrooke1","location":"","description":"","url":null,"entities":{"description":{"urls":[]}},"protected":false,"followers_count":0,"friends_count":1,"listed_count":0,"created_at":"Fri
|
|
||||||
Dec 13 00:56:10 +0000 2019","favourites_count":0,"utc_offset":null,"time_zone":null,"geo_enabled":false,"verified":false,"statuses_count":21,"lang":null,"contributors_enabled":false,"is_translator":false,"is_translation_enabled":false,"profile_background_color":"F5F8FA","profile_background_image_url":null,"profile_background_image_url_https":null,"profile_background_tile":false,"profile_image_url":"http:\/\/abs.twimg.com\/sticky\/default_profile_images\/default_profile_normal.png","profile_image_url_https":"https:\/\/abs.twimg.com\/sticky\/default_profile_images\/default_profile_normal.png","profile_link_color":"1DA1F2","profile_sidebar_border_color":"C0DEED","profile_sidebar_fill_color":"DDEEF6","profile_text_color":"333333","profile_use_background_image":true,"has_extended_profile":false,"default_profile":true,"default_profile_image":true,"following":false,"follow_request_sent":false,"notifications":false,"translator_type":"none"},"geo":null,"coordinates":null,"place":null,"contributors":null,"is_quote_status":false,"retweet_count":0,"favorite_count":0,"favorited":false,"retweeted":false,"lang":"ca"}'
|
|
||||||
http_version:
|
|
||||||
recorded_at: Tue, 31 Mar 2020 10:39:33 GMT
|
|
||||||
recorded_with: VCR 4.0.0
|
|
|
@ -1,84 +0,0 @@
|
||||||
---
|
|
||||||
http_interactions:
|
|
||||||
- request:
|
|
||||||
method: post
|
|
||||||
uri: https://api.twitter.com/1.1/statuses/update.json
|
|
||||||
body:
|
|
||||||
encoding: UTF-8
|
|
||||||
string: in_reply_to_status_id&status=Quos+nulla+asperiores+ut.
|
|
||||||
headers:
|
|
||||||
User-Agent:
|
|
||||||
- TwitterRubyGem/6.2.0
|
|
||||||
Authorization:
|
|
||||||
- OAuth oauth_consumer_key="REDACTED", oauth_nonce="00732df7fa44269cd335acf38d6abe42",
|
|
||||||
oauth_signature="Qna858PdKKMrFjGZEYdm8oU8g6k%3D", oauth_signature_method="HMAC-SHA1",
|
|
||||||
oauth_timestamp="1585651172", oauth_token="REDACTED",
|
|
||||||
oauth_version="1.0"
|
|
||||||
Connection:
|
|
||||||
- close
|
|
||||||
Content-Type:
|
|
||||||
- application/x-www-form-urlencoded
|
|
||||||
Host:
|
|
||||||
- api.twitter.com
|
|
||||||
response:
|
|
||||||
status:
|
|
||||||
code: 200
|
|
||||||
message: OK
|
|
||||||
headers:
|
|
||||||
Cache-Control:
|
|
||||||
- no-cache, no-store, must-revalidate, pre-check=0, post-check=0
|
|
||||||
Connection:
|
|
||||||
- close
|
|
||||||
Content-Disposition:
|
|
||||||
- attachment; filename=json.json
|
|
||||||
Content-Length:
|
|
||||||
- '1882'
|
|
||||||
Content-Type:
|
|
||||||
- application/json;charset=utf-8
|
|
||||||
Date:
|
|
||||||
- Tue, 31 Mar 2020 10:39:32 GMT
|
|
||||||
Expires:
|
|
||||||
- Tue, 31 Mar 1981 05:00:00 GMT
|
|
||||||
Last-Modified:
|
|
||||||
- Tue, 31 Mar 2020 10:39:32 GMT
|
|
||||||
Pragma:
|
|
||||||
- no-cache
|
|
||||||
Server:
|
|
||||||
- tsa_m
|
|
||||||
Set-Cookie:
|
|
||||||
- guest_id=v1%3A158565117286241661; Max-Age=63072000; Expires=Thu, 31 Mar 2022
|
|
||||||
10:39:32 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
|
|
||||||
- lang=en; Path=/
|
|
||||||
- personalization_id="v1_VZPA3OsrdQH41ZancPvXAg=="; Max-Age=63072000; Expires=Thu,
|
|
||||||
31 Mar 2022 10:39:32 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
|
|
||||||
Status:
|
|
||||||
- 200 OK
|
|
||||||
Strict-Transport-Security:
|
|
||||||
- max-age=631138519
|
|
||||||
X-Access-Level:
|
|
||||||
- read-write-directmessages
|
|
||||||
X-Connection-Hash:
|
|
||||||
- 2d2380f4b7cda58563ac424cc1897507
|
|
||||||
X-Content-Type-Options:
|
|
||||||
- nosniff
|
|
||||||
X-Frame-Options:
|
|
||||||
- SAMEORIGIN
|
|
||||||
X-Response-Time:
|
|
||||||
- '175'
|
|
||||||
X-Transaction:
|
|
||||||
- 0024cb7500e82636
|
|
||||||
X-Tsa-Request-Body-Time:
|
|
||||||
- '0'
|
|
||||||
X-Twitter-Response-Tags:
|
|
||||||
- BouncerCompliant
|
|
||||||
X-Xss-Protection:
|
|
||||||
- '0'
|
|
||||||
body:
|
|
||||||
encoding: UTF-8
|
|
||||||
string: '{"created_at":"Tue Mar 31 10:39:32 +0000 2020","id":1244937367435108360,"id_str":"1244937367435108360","text":"Quos
|
|
||||||
nulla asperiores ut.","truncated":false,"entities":{"hashtags":[],"symbols":[],"user_mentions":[],"urls":[]},"source":"\u003ca
|
|
||||||
href=\"https:\/\/zammad.com\/\" rel=\"nofollow\"\u003ezammad\u003c\/a\u003e","in_reply_to_status_id":null,"in_reply_to_status_id_str":null,"in_reply_to_user_id":null,"in_reply_to_user_id_str":null,"in_reply_to_screen_name":null,"user":{"id":1205290247124217856,"id_str":"1205290247124217856","name":"pennbrooke","screen_name":"pennbrooke1","location":"","description":"","url":null,"entities":{"description":{"urls":[]}},"protected":false,"followers_count":0,"friends_count":1,"listed_count":0,"created_at":"Fri
|
|
||||||
Dec 13 00:56:10 +0000 2019","favourites_count":0,"utc_offset":null,"time_zone":null,"geo_enabled":false,"verified":false,"statuses_count":21,"lang":null,"contributors_enabled":false,"is_translator":false,"is_translation_enabled":false,"profile_background_color":"F5F8FA","profile_background_image_url":null,"profile_background_image_url_https":null,"profile_background_tile":false,"profile_image_url":"http:\/\/abs.twimg.com\/sticky\/default_profile_images\/default_profile_normal.png","profile_image_url_https":"https:\/\/abs.twimg.com\/sticky\/default_profile_images\/default_profile_normal.png","profile_link_color":"1DA1F2","profile_sidebar_border_color":"C0DEED","profile_sidebar_fill_color":"DDEEF6","profile_text_color":"333333","profile_use_background_image":true,"has_extended_profile":false,"default_profile":true,"default_profile_image":true,"following":false,"follow_request_sent":false,"notifications":false,"translator_type":"none"},"geo":null,"coordinates":null,"place":null,"contributors":null,"is_quote_status":false,"retweet_count":0,"favorite_count":0,"favorited":false,"retweeted":false,"lang":"ca"}'
|
|
||||||
http_version:
|
|
||||||
recorded_at: Tue, 31 Mar 2020 10:39:33 GMT
|
|
||||||
recorded_with: VCR 4.0.0
|
|
|
@ -1,85 +0,0 @@
|
||||||
---
|
|
||||||
http_interactions:
|
|
||||||
- request:
|
|
||||||
method: post
|
|
||||||
uri: https://api.twitter.com/1.1/statuses/update.json
|
|
||||||
body:
|
|
||||||
encoding: UTF-8
|
|
||||||
string: in_reply_to_status_id&status=%40twitter+%40twitterlive+Don%E2%80%99t+mind+me%2C+just+testing+the+API
|
|
||||||
headers:
|
|
||||||
User-Agent:
|
|
||||||
- TwitterRubyGem/6.2.0
|
|
||||||
Authorization:
|
|
||||||
- OAuth oauth_consumer_key="REDACTED", oauth_nonce="c2b2e0a690db19f551b76a53addd61dc",
|
|
||||||
oauth_signature="%2BldEo0cWQxcCIfGQcVATbUTcKiY%3D", oauth_signature_method="HMAC-SHA1",
|
|
||||||
oauth_timestamp="1585652887", oauth_token="REDACTED",
|
|
||||||
oauth_version="1.0"
|
|
||||||
Connection:
|
|
||||||
- close
|
|
||||||
Content-Type:
|
|
||||||
- application/x-www-form-urlencoded
|
|
||||||
Host:
|
|
||||||
- api.twitter.com
|
|
||||||
response:
|
|
||||||
status:
|
|
||||||
code: 200
|
|
||||||
message: OK
|
|
||||||
headers:
|
|
||||||
Cache-Control:
|
|
||||||
- no-cache, no-store, must-revalidate, pre-check=0, post-check=0
|
|
||||||
Connection:
|
|
||||||
- close
|
|
||||||
Content-Disposition:
|
|
||||||
- attachment; filename=json.json
|
|
||||||
Content-Length:
|
|
||||||
- '2123'
|
|
||||||
Content-Type:
|
|
||||||
- application/json;charset=utf-8
|
|
||||||
Date:
|
|
||||||
- Tue, 31 Mar 2020 11:08:08 GMT
|
|
||||||
Expires:
|
|
||||||
- Tue, 31 Mar 1981 05:00:00 GMT
|
|
||||||
Last-Modified:
|
|
||||||
- Tue, 31 Mar 2020 11:08:08 GMT
|
|
||||||
Pragma:
|
|
||||||
- no-cache
|
|
||||||
Server:
|
|
||||||
- tsa_m
|
|
||||||
Set-Cookie:
|
|
||||||
- guest_id=v1%3A158565288818297882; Max-Age=63072000; Expires=Thu, 31 Mar 2022
|
|
||||||
11:08:08 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
|
|
||||||
- lang=en; Path=/
|
|
||||||
- personalization_id="v1_gHl+MuEHs7qIWs/N81Nw5g=="; Max-Age=63072000; Expires=Thu,
|
|
||||||
31 Mar 2022 11:08:08 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
|
|
||||||
Status:
|
|
||||||
- 200 OK
|
|
||||||
Strict-Transport-Security:
|
|
||||||
- max-age=631138519
|
|
||||||
X-Access-Level:
|
|
||||||
- read-write-directmessages
|
|
||||||
X-Connection-Hash:
|
|
||||||
- b9ab8422ca7a75076ed48a672f8bd60f
|
|
||||||
X-Content-Type-Options:
|
|
||||||
- nosniff
|
|
||||||
X-Frame-Options:
|
|
||||||
- SAMEORIGIN
|
|
||||||
X-Response-Time:
|
|
||||||
- '165'
|
|
||||||
X-Transaction:
|
|
||||||
- 0044032300c7ecc7
|
|
||||||
X-Tsa-Request-Body-Time:
|
|
||||||
- '0'
|
|
||||||
X-Twitter-Response-Tags:
|
|
||||||
- BouncerCompliant
|
|
||||||
X-Xss-Protection:
|
|
||||||
- '0'
|
|
||||||
body:
|
|
||||||
encoding: UTF-8
|
|
||||||
string: '{"created_at":"Tue Mar 31 11:08:08 +0000 2020","id":1244944562004447232,"id_str":"1244944562004447232","text":"@twitter
|
|
||||||
@twitterlive Don\u2019t mind me, just testing the API","truncated":false,"entities":{"hashtags":[],"symbols":[],"user_mentions":[{"screen_name":"Twitter","name":"Twitter","id":783214,"id_str":"783214","indices":[0,8]},{"screen_name":"TwitterLive","name":"Twitter
|
|
||||||
Live","id":130649891,"id_str":"130649891","indices":[9,21]}],"urls":[]},"source":"\u003ca
|
|
||||||
href=\"https:\/\/zammad.com\/\" rel=\"nofollow\"\u003ezammad\u003c\/a\u003e","in_reply_to_status_id":null,"in_reply_to_status_id_str":null,"in_reply_to_user_id":783214,"in_reply_to_user_id_str":"783214","in_reply_to_screen_name":"Twitter","user":{"id":1205290247124217856,"id_str":"1205290247124217856","name":"pennbrooke","screen_name":"pennbrooke1","location":"","description":"","url":null,"entities":{"description":{"urls":[]}},"protected":false,"followers_count":0,"friends_count":1,"listed_count":0,"created_at":"Fri
|
|
||||||
Dec 13 00:56:10 +0000 2019","favourites_count":0,"utc_offset":null,"time_zone":null,"geo_enabled":false,"verified":false,"statuses_count":22,"lang":null,"contributors_enabled":false,"is_translator":false,"is_translation_enabled":false,"profile_background_color":"F5F8FA","profile_background_image_url":null,"profile_background_image_url_https":null,"profile_background_tile":false,"profile_image_url":"http:\/\/abs.twimg.com\/sticky\/default_profile_images\/default_profile_normal.png","profile_image_url_https":"https:\/\/abs.twimg.com\/sticky\/default_profile_images\/default_profile_normal.png","profile_link_color":"1DA1F2","profile_sidebar_border_color":"C0DEED","profile_sidebar_fill_color":"DDEEF6","profile_text_color":"333333","profile_use_background_image":true,"has_extended_profile":false,"default_profile":true,"default_profile_image":true,"following":false,"follow_request_sent":false,"notifications":false,"translator_type":"none"},"geo":null,"coordinates":null,"place":null,"contributors":null,"is_quote_status":false,"retweet_count":0,"favorite_count":0,"favorited":false,"retweeted":false,"lang":"en"}'
|
|
||||||
http_version:
|
|
||||||
recorded_at: Tue, 31 Mar 2020 11:08:08 GMT
|
|
||||||
recorded_with: VCR 4.0.0
|
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -0,0 +1,77 @@
|
||||||
|
---
|
||||||
|
http_interactions:
|
||||||
|
- request:
|
||||||
|
method: post
|
||||||
|
uri: https://api.twitter.com/1.1/direct_messages/events/new.json
|
||||||
|
body:
|
||||||
|
encoding: UTF-8
|
||||||
|
string: '{"event":{"type":"message_create","message_create":{"target":{"recipient_id":<TWITTER_DM_RECIPIENT>},"message_data":{"text":"In
|
||||||
|
adipisci exercitationem perspiciatis."}}}}'
|
||||||
|
headers:
|
||||||
|
User-Agent:
|
||||||
|
- TwitterRubyGem/7.0.0
|
||||||
|
Authorization:
|
||||||
|
- OAuth oauth_consumer_key="<TWITTER_CONSUMER_KEY>", oauth_nonce="73af861d66e768fe2d655cb7e72e367c",
|
||||||
|
oauth_signature="O%2BrhVsfqU8qaDv8oCI1%2Bc43O5IE%3D", oauth_signature_method="HMAC-SHA1",
|
||||||
|
oauth_timestamp="1624984534", oauth_token="<TWITTER_OAUTH_TOKEN>", oauth_version="1.0"
|
||||||
|
Connection:
|
||||||
|
- close
|
||||||
|
Content-Type:
|
||||||
|
- application/json; charset=UTF-8
|
||||||
|
Host:
|
||||||
|
- api.twitter.com
|
||||||
|
response:
|
||||||
|
status:
|
||||||
|
code: 200
|
||||||
|
message: OK
|
||||||
|
headers:
|
||||||
|
Date:
|
||||||
|
- Tue, 29 Jun 2021 16:35:34 GMT
|
||||||
|
Pragma:
|
||||||
|
- no-cache
|
||||||
|
Server:
|
||||||
|
- tsa_o
|
||||||
|
Status:
|
||||||
|
- 200 OK
|
||||||
|
Expires:
|
||||||
|
- Tue, 31 Mar 1981 05:00:00 GMT
|
||||||
|
Set-Cookie:
|
||||||
|
- guest_id=v1%3A162498453485287313; Max-Age=63072000; Expires=Thu, 29 Jun 2023
|
||||||
|
16:35:34 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
|
||||||
|
- lang=en; Path=/
|
||||||
|
- personalization_id="v1_zGYIbSeAuN9IcZF4F9ge5w=="; Max-Age=63072000; Expires=Thu,
|
||||||
|
29 Jun 2023 16:35:34 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
|
||||||
|
Content-Type:
|
||||||
|
- application/json;charset=utf-8
|
||||||
|
Cache-Control:
|
||||||
|
- no-cache, no-store, must-revalidate, pre-check=0, post-check=0
|
||||||
|
Last-Modified:
|
||||||
|
- Tue, 29 Jun 2021 16:35:34 GMT
|
||||||
|
X-Transaction:
|
||||||
|
- 3ba048998becb8da
|
||||||
|
Content-Length:
|
||||||
|
- '326'
|
||||||
|
X-Access-Level:
|
||||||
|
- read-write-directmessages
|
||||||
|
X-Frame-Options:
|
||||||
|
- SAMEORIGIN
|
||||||
|
X-Xss-Protection:
|
||||||
|
- '0'
|
||||||
|
Content-Disposition:
|
||||||
|
- attachment; filename=json.json
|
||||||
|
X-Content-Type-Options:
|
||||||
|
- nosniff
|
||||||
|
X-Twitter-Response-Tags:
|
||||||
|
- BouncerCompliant
|
||||||
|
Strict-Transport-Security:
|
||||||
|
- max-age=631138519
|
||||||
|
X-Connection-Hash:
|
||||||
|
- 18817f96513cf3b4958953156d36ce82745079a88415a3609d8e70be27f3e89c
|
||||||
|
Connection:
|
||||||
|
- close
|
||||||
|
body:
|
||||||
|
encoding: UTF-8
|
||||||
|
string: '{"event":{"type":"message_create","id":"1409913444971782150","created_timestamp":"1624984534863","message_create":{"target":{"recipient_id":"<TWITTER_DM_RECIPIENT>"},"sender_id":"<TWITTER_USER_ID>","message_data":{"text":"In
|
||||||
|
adipisci exercitationem perspiciatis.","entities":{"hashtags":[],"symbols":[],"user_mentions":[],"urls":[]}}}}}'
|
||||||
|
recorded_at: Tue, 29 Jun 2021 16:35:35 GMT
|
||||||
|
recorded_with: VCR 6.0.0
|
|
@ -0,0 +1,161 @@
|
||||||
|
---
|
||||||
|
http_interactions:
|
||||||
|
- request:
|
||||||
|
method: post
|
||||||
|
uri: https://api.twitter.com/1.1/statuses/update.json
|
||||||
|
body:
|
||||||
|
encoding: UTF-8
|
||||||
|
string: in_reply_to_status_id&status=foo+%EF%BC%8A+bar
|
||||||
|
headers:
|
||||||
|
User-Agent:
|
||||||
|
- TwitterRubyGem/7.0.0
|
||||||
|
Authorization:
|
||||||
|
- OAuth oauth_consumer_key="<TWITTER_CONSUMER_KEY>", oauth_nonce="6747389a248f680a7631a27227ed2b59",
|
||||||
|
oauth_signature="4qex9kNATP0zpmYZ%2FII9zK5y7qI%3D", oauth_signature_method="HMAC-SHA1",
|
||||||
|
oauth_timestamp="1624609540", oauth_token="<TWITTER_OAUTH_TOKEN>", oauth_version="1.0"
|
||||||
|
Connection:
|
||||||
|
- close
|
||||||
|
Content-Type:
|
||||||
|
- application/x-www-form-urlencoded
|
||||||
|
Host:
|
||||||
|
- api.twitter.com
|
||||||
|
response:
|
||||||
|
status:
|
||||||
|
code: 403
|
||||||
|
message: Forbidden
|
||||||
|
headers:
|
||||||
|
Date:
|
||||||
|
- Fri, 25 Jun 2021 08:25:40 GMT
|
||||||
|
Pragma:
|
||||||
|
- no-cache
|
||||||
|
Server:
|
||||||
|
- tsa_o
|
||||||
|
Status:
|
||||||
|
- 403 Forbidden
|
||||||
|
Expires:
|
||||||
|
- Tue, 31 Mar 1981 05:00:00 GMT
|
||||||
|
Set-Cookie:
|
||||||
|
- guest_id=v1%3A162460954028999985; Max-Age=63072000; Expires=Sun, 25 Jun 2023
|
||||||
|
08:25:40 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
|
||||||
|
- lang=en; Path=/
|
||||||
|
- personalization_id="v1_oeJ/LzvDFYl770c2yd5/2Q=="; Max-Age=63072000; Expires=Sun,
|
||||||
|
25 Jun 2023 08:25:40 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
|
||||||
|
Content-Type:
|
||||||
|
- application/json;charset=utf-8
|
||||||
|
Cache-Control:
|
||||||
|
- no-cache, no-store, must-revalidate, pre-check=0, post-check=0
|
||||||
|
Last-Modified:
|
||||||
|
- Fri, 25 Jun 2021 08:25:40 GMT
|
||||||
|
X-Transaction:
|
||||||
|
- 3d3b3cb53cc1d2c6
|
||||||
|
Content-Length:
|
||||||
|
- '60'
|
||||||
|
X-Access-Level:
|
||||||
|
- read-write-directmessages
|
||||||
|
X-Frame-Options:
|
||||||
|
- SAMEORIGIN
|
||||||
|
X-Xss-Protection:
|
||||||
|
- '0'
|
||||||
|
Content-Disposition:
|
||||||
|
- attachment; filename=json.json
|
||||||
|
X-Content-Type-Options:
|
||||||
|
- nosniff
|
||||||
|
X-Twitter-Response-Tags:
|
||||||
|
- BouncerCompliant
|
||||||
|
Strict-Transport-Security:
|
||||||
|
- max-age=631138519
|
||||||
|
X-Connection-Hash:
|
||||||
|
- bc552ee394dd8af2a62fb08c68c30cb4353e05a857443b017d1a769991bad7d8
|
||||||
|
Connection:
|
||||||
|
- close
|
||||||
|
body:
|
||||||
|
encoding: UTF-8
|
||||||
|
string: '{"errors":[{"code":187,"message":"Status is a duplicate."}]}'
|
||||||
|
recorded_at: Fri, 25 Jun 2021 08:25:40 GMT
|
||||||
|
- request:
|
||||||
|
method: get
|
||||||
|
uri: https://api.twitter.com/1.1/statuses/user_timeline.json?count=1
|
||||||
|
body:
|
||||||
|
encoding: UTF-8
|
||||||
|
string: ''
|
||||||
|
headers:
|
||||||
|
User-Agent:
|
||||||
|
- TwitterRubyGem/7.0.0
|
||||||
|
Authorization:
|
||||||
|
- OAuth oauth_consumer_key="<TWITTER_CONSUMER_KEY>", oauth_nonce="958bd506f769b865b166a3e829c9a4da",
|
||||||
|
oauth_signature="r8LCO8HHujDiOIc1ogb3YAhD34M%3D", oauth_signature_method="HMAC-SHA1",
|
||||||
|
oauth_timestamp="1624609540", oauth_token="<TWITTER_OAUTH_TOKEN>", oauth_version="1.0"
|
||||||
|
Connection:
|
||||||
|
- close
|
||||||
|
Host:
|
||||||
|
- api.twitter.com
|
||||||
|
response:
|
||||||
|
status:
|
||||||
|
code: 200
|
||||||
|
message: OK
|
||||||
|
headers:
|
||||||
|
Date:
|
||||||
|
- Fri, 25 Jun 2021 08:25:40 GMT
|
||||||
|
Pragma:
|
||||||
|
- no-cache
|
||||||
|
Server:
|
||||||
|
- tsa_o
|
||||||
|
Status:
|
||||||
|
- 200 OK
|
||||||
|
Expires:
|
||||||
|
- Tue, 31 Mar 1981 05:00:00 GMT
|
||||||
|
Set-Cookie:
|
||||||
|
- guest_id=v1%3A162460954049230142; Max-Age=63072000; Expires=Sun, 25 Jun 2023
|
||||||
|
08:25:40 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
|
||||||
|
- lang=en; Path=/
|
||||||
|
- personalization_id="v1_9g6No5EunMQ6o37MZ7NtqQ=="; Max-Age=63072000; Expires=Sun,
|
||||||
|
25 Jun 2023 08:25:40 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
|
||||||
|
Content-Type:
|
||||||
|
- application/json;charset=utf-8
|
||||||
|
Cache-Control:
|
||||||
|
- no-cache, no-store, must-revalidate, pre-check=0, post-check=0
|
||||||
|
Last-Modified:
|
||||||
|
- Fri, 25 Jun 2021 08:25:40 GMT
|
||||||
|
X-Transaction:
|
||||||
|
- 72ea9ef95267a1fb
|
||||||
|
Content-Length:
|
||||||
|
- '1945'
|
||||||
|
X-Access-Level:
|
||||||
|
- read-write-directmessages
|
||||||
|
X-Frame-Options:
|
||||||
|
- SAMEORIGIN
|
||||||
|
X-Xss-Protection:
|
||||||
|
- '0'
|
||||||
|
X-Rate-Limit-Limit:
|
||||||
|
- '900'
|
||||||
|
X-Rate-Limit-Reset:
|
||||||
|
- '1624609878'
|
||||||
|
Content-Disposition:
|
||||||
|
- attachment; filename=json.json
|
||||||
|
X-App-Rate-Limit-Limit:
|
||||||
|
- '100000'
|
||||||
|
X-App-Rate-Limit-Reset:
|
||||||
|
- '1624695378'
|
||||||
|
X-Content-Type-Options:
|
||||||
|
- nosniff
|
||||||
|
X-Rate-Limit-Remaining:
|
||||||
|
- '897'
|
||||||
|
X-Twitter-Response-Tags:
|
||||||
|
- BouncerCompliant
|
||||||
|
Strict-Transport-Security:
|
||||||
|
- max-age=631138519
|
||||||
|
X-App-Rate-Limit-Remaining:
|
||||||
|
- '99997'
|
||||||
|
X-Connection-Hash:
|
||||||
|
- 53dd0153d68cb91522e2aadf22caf12a9e6e2c914d61f748e05b75c147266d9f
|
||||||
|
Connection:
|
||||||
|
- close
|
||||||
|
body:
|
||||||
|
encoding: UTF-8
|
||||||
|
string: '[{"created_at":"Fri Jun 25 08:25:39 +0000 2021","id":1408340600848629760,"id_str":"1408340600848629760","text":"Est
|
||||||
|
non rem consequatur.","truncated":false,"entities":{"hashtags":[],"symbols":[],"user_mentions":[],"urls":[]},"source":"\u003ca
|
||||||
|
href=\"https:\/\/zammad.com\" rel=\"nofollow\"\u003eZammad Integration Test\u003c\/a\u003e","in_reply_to_status_id":null,"in_reply_to_status_id_str":null,"in_reply_to_user_id":null,"in_reply_to_user_id_str":null,"in_reply_to_screen_name":null,"user":{"id":1408314039470538752,"id_str":"1408314039470538752","name":"Zammad","screen_name":"ZammadTesting","location":"","description":"Zammad
|
||||||
|
Integration Test Account","url":null,"entities":{"description":{"urls":[]}},"protected":false,"followers_count":0,"friends_count":0,"listed_count":0,"created_at":"Fri
|
||||||
|
Jun 25 07:21:40 +0000 2021","favourites_count":0,"utc_offset":null,"time_zone":null,"geo_enabled":false,"verified":false,"statuses_count":35,"lang":null,"contributors_enabled":false,"is_translator":false,"is_translation_enabled":false,"profile_background_color":"F5F8FA","profile_background_image_url":null,"profile_background_image_url_https":null,"profile_background_tile":false,"profile_image_url":"http:\/\/abs.twimg.com\/sticky\/default_profile_images\/default_profile_normal.png","profile_image_url_https":"https:\/\/abs.twimg.com\/sticky\/default_profile_images\/default_profile_normal.png","profile_link_color":"1DA1F2","profile_sidebar_border_color":"C0DEED","profile_sidebar_fill_color":"DDEEF6","profile_text_color":"333333","profile_use_background_image":true,"has_extended_profile":true,"default_profile":true,"default_profile_image":true,"following":false,"follow_request_sent":false,"notifications":false,"translator_type":"none","withheld_in_countries":[]},"geo":null,"coordinates":null,"place":null,"contributors":null,"is_quote_status":false,"retweet_count":0,"favorite_count":0,"favorited":false,"retweeted":false,"lang":"en"}]'
|
||||||
|
recorded_at: Fri, 25 Jun 2021 08:25:40 GMT
|
||||||
|
recorded_with: VCR 6.0.0
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue