1. * Package: dev-ruby/aws-sdk-1.5.7
  2. * Repository: gentoo
  3. * Maintainer: ruby@gentoo.org
  4. * USE: amd64 elibc_glibc kernel_linux multilib ruby_targets_ree18 ruby_targets_ruby18 ruby_targets_ruby19 test userland_GNU
  5. * FEATURES: sandbox test userpriv usersandbox
  6. >>> Unpacking source...
  7. * Running unpack phase for all ...
  8. >>> Unpacking aws-sdk-for-ruby-1.5.7.tar.gz to /tmp/portage/dev-ruby/aws-sdk-1.5.7/work/all
  9. >>> Source unpacked in /tmp/portage/dev-ruby/aws-sdk-1.5.7/work
  10. >>> Preparing source in /tmp/portage/dev-ruby/aws-sdk-1.5.7/work ...
  11. * Running prepare phase for all ...
  12. * Applying aws-sdk-1.5.3-disabletest.patch ...
  13. [ ok ]
  14. * Applying aws-sdk-1.5.7-specs.patch ...
  15. [ ok ]
  16. * Running source copy phase for ruby18 ...
  17. * Running source copy phase for ruby19 ...
  18. * Running source copy phase for ree18 ...
  19. >>> Source prepared.
  20. >>> Configuring source in /tmp/portage/dev-ruby/aws-sdk-1.5.7/work ...
  21. >>> Source configured.
  22. >>> Compiling source in /tmp/portage/dev-ruby/aws-sdk-1.5.7/work ...
  23. * Running compile phase for all ...
  24. >>> Source compiled.
  25. * Running test phase for ruby18 ...
  26. AWS::AutoScaling::LaunchConfigurationCollection
  27. #[]
  28. returns an activity
  29. behaves like a pageable collection with limits
  30. yields activities
  31. adds the group when provided
  32. behaves like a collection with #enum
  33. should be enumerable
  34. responds to enumerator
  35. returns an enumerator
  36. returns an enumerator for the each method
  37. passes arguments to the each method
  38. #each
  39. with :limit
  40. passes :limit as limit_key
  41. makes requests until the total number of items received == limit
  42. stops short of the limit if a truncated response is returned
  43. with :batch_size param
  44. convert batch size into a limit
  45. requests :batch_size num elements until response is truncated
  46. with :limit and :batch_size
  47. makes requests while response is truncated
  48. AWS::AutoScaling::LaunchConfiguration
  49. #id
  50. is set in the constructor
  51. behaves like activity attribute
  52. describes scaling activities to fetch attribute
  53. returns the attribute value
  54. behaves like activity attribute
  55. describes scaling activities to fetch attribute
  56. returns the attribute value
  57. behaves like activity attribute
  58. describes scaling activities to fetch attribute
  59. returns the attribute value
  60. behaves like activity attribute
  61. describes scaling activities to fetch attribute
  62. returns the attribute value
  63. behaves like activity attribute
  64. describes scaling activities to fetch attribute
  65. returns the attribute value
  66. behaves like activity attribute
  67. describes scaling activities to fetch attribute
  68. returns the attribute value
  69. behaves like activity attribute
  70. describes scaling activities to fetch attribute
  71. returns the attribute value
  72. behaves like activity attribute
  73. describes scaling activities to fetch attribute
  74. returns the attribute value
  75. behaves like activity attribute
  76. describes scaling activities to fetch attribute
  77. returns the attribute value
  78. #group
  79. returns an auto scaling group
  80. #exists?
  81. returns true if it can be described
  82. returns false if it can not be found
  83. AWS::AutoScaling::GroupCollection
  84. #create
  85. calls #create_auto_scaling_group on the client
  86. accepts az objects and launch configuration objects
  87. raises an argument error if you omit :launch_configuration
  88. raises an argument error if you omit :availability_zones
  89. raises an argument error if you omit :min_size
  90. raises an argument error if you omit :max_size
  91. accepts a default cooldown period
  92. accepts desired capacity
  93. accepts a health check grace period
  94. accepts a health check type
  95. accepts a health check grace period
  96. accepts load balancers
  97. accepts load balancer objects
  98. accepts a placement group
  99. accepts tags
  100. accepts subnets
  101. accepts subnet objects
  102. returns a group with the given name
  103. #[]
  104. returns a group
  105. behaves like a pageable collection with limits
  106. behaves like a collection with #enum
  107. should be enumerable
  108. responds to enumerator
  109. returns an enumerator
  110. returns an enumerator for the each method
  111. passes arguments to the each method
  112. #each
  113. with :limit
  114. passes :limit as limit_key
  115. makes requests until the total number of items received == limit
  116. stops short of the limit if a truncated response is returned
  117. with :batch_size param
  118. convert batch size into a limit
  119. requests :batch_size num elements until response is truncated
  120. with :limit and :batch_size
  121. makes requests while response is truncated
  122. AWS::AutoScaling::Group
  123. #name
  124. is set in the constructor
  125. attributes
  126. returns attributes from the describe call
  127. #tags
  128. returns array of tag objects
  129. #launch_configuraiton
  130. returns a launch configuration
  131. #ec2_instances
  132. returns a filtered instance collection
  133. filters the collection by the correct tag
  134. #scheduled_actions
  135. returns a scheduled action collection
  136. does not filter the actions (returns all)
  137. #subnets
  138. returns an array of subnets
  139. #availability_zones
  140. returns an array of availability zone objects
  141. #load_balancers
  142. returns an array of load balancer objects
  143. #update
  144. calls #update_auto_scaling_group on the client
  145. accepts multiple options
  146. #delete_tags
  147. #calls delete_tags on the client
  148. accpets multiple tags
  149. accpets tag objects
  150. #delete_all_tags
  151. calls #delete_tags with the group tags
  152. #delete
  153. calls #delete_auto_scaling_group on the client
  154. accepts a :force option
  155. #delete!
  156. calls #delete_auto_scaling_group on the client with :force
  157. #exists?
  158. returns false if it can not describe it
  159. returns true if it can describe it
  160. #set_desired_capacity
  161. calls #set_desired_capacity on the client
  162. accepts an honor cooldown option
  163. #scaling_policies
  164. retunrs a scaling policy collection
  165. #notification_configurations
  166. retunrs a notification configuration collection
  167. #suspend_processes
  168. calls #suspend_processes on the client
  169. accepts mutiple process types
  170. accepts an array of process types
  171. #suspend_all_processes
  172. calls #suspend_processes on the client with no processes
  173. #resume_processes
  174. calls #resume_processes on the client
  175. accepts mutiple process types
  176. accepts an array of process types
  177. #resume_all_processes
  178. calls #resume_processes on the client with no processes
  179. AWS::AutoScaling::LaunchConfigurationCollection
  180. #create
  181. calls #create_launch_configuration on the client
  182. returns a launch configuration object
  183. accepts a hash of options
  184. accpets security group objects and it passes along their ids
  185. accpets a key pair object and passes along its name
  186. #[]
  187. returns a launch configuration
  188. behaves like a pageable collection with limits
  189. behaves like a collection with #enum
  190. should be enumerable
  191. responds to enumerator
  192. returns an enumerator
  193. returns an enumerator for the each method
  194. passes arguments to the each method
  195. #each
  196. with :limit
  197. passes :limit as limit_key
  198. makes requests until the total number of items received == limit
  199. stops short of the limit if a truncated response is returned
  200. with :batch_size param
  201. convert batch size into a limit
  202. requests :batch_size num elements until response is truncated
  203. with :limit and :batch_size
  204. makes requests while response is truncated
  205. AWS::AutoScaling::Instance
  206. #ec2_instance
  207. returns a EC2::Instance
  208. returns an instance with the proper id
  209. returns an instance with the proper config
  210. #auto_scaling_group
  211. returns an Auto Scaling group
  212. returns a group with the proper name
  213. returns a group with the proper config
  214. #availability_zone
  215. returns an ec2 availabilty zone
  216. returns an az with the proper name
  217. returns an az with the proper config
  218. #launch_configuration
  219. returns a launch configuration
  220. returns a launch config with the proper name
  221. returns a launch config with the proper config
  222. #set_instance_health
  223. calls #set_instance_health on the client
  224. accepts a :respect_grace_period option
  225. #exists?
  226. returns true when it can be described
  227. returns false when it does not come back from describe
  228. #terminate
  229. calls #terminate_instance_in_auto_scaling_group on the client
  230. accepts a false value for should decrement
  231. returns a populated Activty
  232. populating from auto scaling group
  233. can be populated from describing a group
  234. AWS::AutoScaling::LaunchConfigurationCollection
  235. #create
  236. calls #create_launch_configuration on the client
  237. returns a launch configuration object
  238. accepts a hash of options
  239. accpets security group objects and it passes along their ids
  240. accpets a key pair object and passes along its name
  241. #[]
  242. returns a launch configuration
  243. behaves like a pageable collection with limits
  244. behaves like a collection with #enum
  245. should be enumerable
  246. responds to enumerator
  247. returns an enumerator
  248. returns an enumerator for the each method
  249. passes arguments to the each method
  250. #each
  251. with :limit
  252. passes :limit as limit_key
  253. makes requests until the total number of items received == limit
  254. stops short of the limit if a truncated response is returned
  255. with :batch_size param
  256. convert batch size into a limit
  257. requests :batch_size num elements until response is truncated
  258. with :limit and :batch_size
  259. makes requests while response is truncated
  260. AWS::AutoScaling::LaunchConfiguration
  261. #name
  262. is set in the constructor
  263. attributes
  264. returns attributes from the describe call
  265. #security_groups
  266. returns security groups with id patterns
  267. describes security groups with a filter if given names
  268. #key_pair
  269. returns an ec2 key pair
  270. #image
  271. returns an ec2 image
  272. #exists?
  273. describes launch configurations with a name filter
  274. returns false when the domain can not be described
  275. #delete
  276. calls #delete_launch_configuration on the client
  277. AWS::AutoScaling::NotificationConfigurationCollection
  278. #group
  279. returns the group
  280. is aliased as auto_scaling_group
  281. returns nil when initialized without a group
  282. #create
  283. calls #put_notification_configuration on the client
  284. returns a notification configuration
  285. gets the full list of notification types if you omit types
  286. #each
  287. calls #describe_notification_configurations with the group name
  288. omits the auto scaling name when not provided
  289. yeilds notification configurations
  290. yields configurations with the proper topic arn
  291. yields configurations with the proper topics
  292. yields configurations with the proper group
  293. yields configurations with the proper notification types
  294. AWS::AutoScaling::NotificationConfiguration
  295. #group
  296. returns the group
  297. #topic_arn
  298. returns the topic arn string
  299. #topic
  300. returns the sns topic
  301. #notification_types
  302. returns the notification type string
  303. #delete
  304. calls #delete_notification_configuration on the client
  305. #eql?
  306. returns true if they share the same group and topic
  307. returns false if they have different topics
  308. returns false if they have different groups
  309. AWS::SimpleEmailService::Request
  310. it should behave like an authorize v4 request
  311. #add_authorization!
  312. sets the content type form-urlencoded by default
  313. populates the host header
  314. populates the date header
  315. omits the security token header when session token not provided
  316. populates the security token header when session token is provided
  317. popualtes the authorization header (FAILED - 1)
  318. includes the session token in the signature when present (FAILED - 2)
  319. #service
  320. should be ses
  321. AWS::AutoScaling::ScalingPolicyCollection
  322. #group
  323. returns the group
  324. is aliased as auto_scaling_group
  325. #create
  326. calls #put_policy on the client
  327. returns a scaling policy
  328. populates the policy arn
  329. #[]
  330. returns a scaling policy
  331. returns a scaling policy with the proper name
  332. returns a scaling policy with the proper group
  333. returns a scaling policy with the proper config
  334. behaves like a pageable collection with limits
  335. behaves like a collection with #enum
  336. should be enumerable
  337. responds to enumerator
  338. returns an enumerator
  339. returns an enumerator for the each method
  340. passes arguments to the each method
  341. #each
  342. with :limit
  343. passes :limit as limit_key
  344. makes requests until the total number of items received == limit
  345. stops short of the limit if a truncated response is returned
  346. with :batch_size param
  347. convert batch size into a limit
  348. requests :batch_size num elements until response is truncated
  349. with :limit and :batch_size
  350. makes requests while response is truncated
  351. AWS::AutoScaling::ScalingPolicy
  352. #name
  353. is set in the constructor
  354. #arn
  355. returns the described arn
  356. #adjustment_type
  357. returns the described adjustment type
  358. #scaling_adjustment
  359. returns the described scaling adjustment
  360. #cooldown
  361. returns the described cooldown
  362. #alarms
  363. returns the alarms in a hash
  364. #update
  365. calls #put_scaling_policy on the client
  366. #execute
  367. calls #execute_policy on the client
  368. calls accepts an :honor_cooldown option
  369. #delete
  370. calls #delete_policy on the client
  371. #exists
  372. returns true if it can be described
  373. returns false if the describe call returns no results
  374. AWS::AutoScaling::ScheduledActionCollection
  375. #create
  376. calls #put_scheduled_update_group_action on the client
  377. returns a scheduled action
  378. accepts a group object
  379. accepts a group option via the filters
  380. accepts gets group when chained from a group
  381. raises an error when no group is provided
  382. #[]
  383. returns a scheduled action
  384. #filter
  385. applies filter options to the colleciton when enumerating
  386. accepts multiple filters
  387. can be chained
  388. behaves like a pageable collection with limits
  389. behaves like a collection with #enum
  390. should be enumerable
  391. responds to enumerator
  392. returns an enumerator
  393. returns an enumerator for the each method
  394. passes arguments to the each method
  395. #each
  396. with :limit
  397. passes :limit as limit_key
  398. makes requests until the total number of items received == limit
  399. stops short of the limit if a truncated response is returned
  400. with :batch_size param
  401. convert batch size into a limit
  402. requests :batch_size num elements until response is truncated
  403. with :limit and :batch_size
  404. makes requests while response is truncated
  405. AWS::AutoScaling::ScheduledAction
  406. #name
  407. is set in the constructor
  408. attributes
  409. returns attributes from the describe call
  410. #update
  411. calls #put_scheduled_update_group_action on the client
  412. converts time objects into iso8601 strings
  413. #exists?
  414. returns true if it can be described
  415. returns false if it can be described
  416. #delete
  417. calls #delete_scheduled_action on the client
  418. AWS::AutoScaling::TagCollection
  419. #filter
  420. filters the describe call
  421. accepts multiple filter values per filter
  422. accepts multiple filter values as an array
  423. can be chained
  424. converts symbol filternames into strings
  425. behaves like a pageable collection with limits
  426. yields tag objects
  427. behaves like a collection with #enum
  428. should be enumerable
  429. responds to enumerator
  430. returns an enumerator
  431. returns an enumerator for the each method
  432. passes arguments to the each method
  433. #each
  434. with :limit
  435. passes :limit as limit_key
  436. makes requests until the total number of items received == limit
  437. stops short of the limit if a truncated response is returned
  438. with :batch_size param
  439. convert batch size into a limit
  440. requests :batch_size num elements until response is truncated
  441. with :limit and :batch_size
  442. makes requests while response is truncated
  443. AWS::AutoScaling
  444. behaves like a class that accepts configuration
  445. accepts and returns a :config option
  446. constructor passes options to Configuration#with
  447. returns the merged config
  448. #launch_configurations
  449. it should behave like an auto scaling service collection
  450. should return an instance of AWS::AutoScaling::LaunchConfigurationCollection
  451. should pass the config
  452. #groups
  453. it should behave like an auto scaling service collection
  454. should return an instance of AWS::AutoScaling::GroupCollection
  455. should pass the config
  456. #tags
  457. it should behave like an auto scaling service collection
  458. should return an instance of AWS::AutoScaling::TagCollection
  459. should pass the config
  460. #notification_types
  461. calls #describe_auto_scaling_notification_types on the client
  462. returns the notification types from the response
  463. #adjustment_types
  464. calls #describe_describe_adjustment_types on the client
  465. returns the adjustment types from the response
  466. #scaling_process_types
  467. calls #describe_scaling_process_types on the client
  468. returns the adjustment types from the response
  469. #metric_collection_types
  470. calls #describe_scaling_process_types on the client
  471. returns the adjustment types from the response
  472. #metric_collection_granularities
  473. calls #describe_scaling_process_types on the client
  474. returns the adjustment types from the response
  475. #notification_configuration
  476. returns a notficiation configuraiton collection
  477. #instances
  478. returns a instance collection
  479. #instances
  480. returns a instance collection
  481. does not filter the activities (returns all)
  482. #scheduled_actions
  483. returns a scheduled action collection
  484. does not filter the actions (returns all)
  485. AWS::SimpleEmailService::Request
  486. it should behave like an authorize v4 request
  487. #add_authorization!
  488. sets the content type form-urlencoded by default
  489. populates the host header
  490. populates the date header
  491. omits the security token header when session token not provided
  492. populates the security token header when session token is provided
  493. popualtes the authorization header (FAILED - 3)
  494. includes the session token in the signature when present (FAILED - 4)
  495. #service
  496. should be ses
  497. AWS::CloudFormation::StackCollection
  498. #create
  499. calls #create_stack on the client
  500. accepts arbitrary options
  501. template param
  502. accepts the template as url string
  503. accepts the template as a http uri
  504. accepts the template as a https uri
  505. accepts the template as a s3 object
  506. calls #to_json on other template params
  507. :capabilities option
  508. passes capabilities to #create_stack
  509. :disable_rollback option
  510. defaults to false
  511. can be set to true
  512. :notify option
  513. can be set via :notification_arns
  514. accepts a topic arn string
  515. accepts a list of topic arn strings
  516. accepts an sns topic
  517. accepts an array of sns topics
  518. :parameters option
  519. accepts a hash of options
  520. :timeout_in_minutes option
  521. passes this option along
  522. can be provided as :timeout
  523. returns
  524. returns a stack
  525. returns a stack with the proper config
  526. returns a stack with the proper name
  527. returns a stack with the stack id as returned by create call
  528. #[]
  529. returns a stack
  530. returns a stack with the proper name
  531. returns a stack with the proper config
  532. behaves like a simple collection
  533. behaves like a collection with #enum
  534. should be enumerable
  535. responds to enumerator
  536. returns an enumerator
  537. returns an enumerator for the each method
  538. passes arguments to the each method
  539. #each
  540. calls the client method to list objects
  541. should yield the right number of objects
  542. AWS::CloudFormation::StackEventCollection
  543. behaves like a simple collection
  544. yields popualted events
  545. behaves like a collection with #enum
  546. should be enumerable
  547. responds to enumerator
  548. returns an enumerator
  549. returns an enumerator for the each method
  550. passes arguments to the each method
  551. #each
  552. calls the client method to list objects
  553. should yield the right number of objects
  554. AWS::CloudFormation::StackOptions
  555. #apply_template
  556. opts[:template] as a not url string
  557. has opts[:template_body]
  558. include "http"
  559. has opts[:template_body]
  560. opts[:template] as a http url string
  561. has opts[:template_url]
  562. opts[:template] as a https url string
  563. has opts[:template_url]
  564. AWS::CloudFormation::StackResourceCollection
  565. #[]
  566. returns a stack resource
  567. returns a resource with the proper logical resource id
  568. returns a resource with the proper stack
  569. returns a resource with the proper config
  570. behaves like a simple collection
  571. enumerates stack resources
  572. behaves like a collection with #enum
  573. should be enumerable
  574. responds to enumerator
  575. returns an enumerator
  576. returns an enumerator for the each method
  577. passes arguments to the each method
  578. #each
  579. calls the client method to list objects
  580. should yield the right number of objects
  581. AWS::CloudFormation::StackResource
  582. #creation_time
  583. behaves like a describe attribute
  584. calls #describe_stack_resource
  585. returns the expected value
  586. #physical_resource_id
  587. behaves like a describe attribute
  588. calls #describe_stack_resource
  589. returns the expected value
  590. #resource_status
  591. behaves like a describe attribute
  592. calls #describe_stack_resource
  593. returns the expected value
  594. #resource_status_reason
  595. behaves like a describe attribute
  596. calls #describe_stack_resource
  597. returns the expected value
  598. #resource_type
  599. behaves like a describe attribute
  600. calls #describe_stack_resource
  601. returns the expected value
  602. #stack_id
  603. behaves like a describe attribute
  604. calls #describe_stack_resource
  605. returns the expected value
  606. #stack_name
  607. behaves like a describe attribute
  608. calls #describe_stack_resource
  609. returns the expected value
  610. #last_updated_timestamp
  611. behaves like a describe attribute
  612. calls #describe_stack_resource
  613. returns the expected value
  614. #metadata
  615. behaves like a describe attribute
  616. calls #describe_stack_resource
  617. returns the expected value
  618. AWS::CloudFormation::StackResourceSummaryCollection
  619. #stack
  620. returns the stack
  621. behaves like a simple collection
  622. yields populated stack summaries
  623. behaves like a collection with #enum
  624. should be enumerable
  625. responds to enumerator
  626. returns an enumerator
  627. returns an enumerator for the each method
  628. passes arguments to the each method
  629. #each
  630. calls the client method to list objects
  631. should yield the right number of objects
  632. AWS::CloudFormation::Stack
  633. #creation_time
  634. behaves like a describe stack attribute
  635. calls #describe_stacks with the stack name to load the attr
  636. returns the expected value
  637. #last_update_time
  638. behaves like a describe stack attribute
  639. calls #describe_stacks with the stack name to load the attr
  640. returns the expected value
  641. #stack_id
  642. behaves like a describe stack attribute
  643. calls #describe_stacks with the stack name to load the attr
  644. returns the expected value
  645. #status
  646. behaves like a describe stack attribute
  647. calls #describe_stacks with the stack name to load the attr
  648. returns the expected value
  649. #status_reason
  650. behaves like a describe stack attribute
  651. calls #describe_stacks with the stack name to load the attr
  652. returns the expected value
  653. #capabilities
  654. behaves like a describe stack attribute
  655. calls #describe_stacks with the stack name to load the attr
  656. returns the expected value
  657. #description
  658. behaves like a describe stack attribute
  659. calls #describe_stacks with the stack name to load the attr
  660. returns the expected value
  661. #disable_rollback
  662. behaves like a describe stack attribute
  663. calls #describe_stacks with the stack name to load the attr
  664. returns the expected value
  665. #notification_arns
  666. behaves like a describe stack attribute
  667. calls #describe_stacks with the stack name to load the attr
  668. returns the expected value
  669. #outputs
  670. behaves like a describe stack attribute
  671. calls #describe_stacks with the stack name to load the attr
  672. returns the expected value
  673. #parameters
  674. behaves like a describe stack attribute
  675. calls #describe_stacks with the stack name to load the attr
  676. returns the expected value
  677. #status_reason
  678. behaves like a describe stack attribute
  679. calls #describe_stacks with the stack name to load the attr
  680. returns the expected value
  681. #template
  682. calls #get_template on the client
  683. returns the template body
  684. #estimate_template_cost
  685. calls CloudFormation#estimate_template_cost with its tepmlate and params
  686. #resources
  687. returns a stack resource collection
  688. returns a collection with the proper stack
  689. returns a collection with the proper config
  690. #update
  691. calls #update_stack on the client
  692. returns nil
  693. passes along the tempate option
  694. passes along the tempate body option
  695. passes along the capabilities
  696. passes along the parameters
  697. #delete
  698. calls #delete_stack on the client
  699. returns nil
  700. AWS::CloudFormation::StackSummaryCollection
  701. #with_status
  702. returns a stack collection
  703. returns a collection with the proper config
  704. passes the status filter to #list_stacks when enumerated
  705. up-cases the status before calling #list_stacks
  706. accepts statuses in an array
  707. accepts statuses as a list
  708. behaves like a simple collection
  709. yields populated stack summaries
  710. behaves like a collection with #enum
  711. should be enumerable
  712. responds to enumerator
  713. returns an enumerator
  714. returns an enumerator for the each method
  715. passes arguments to the each method
  716. #each
  717. calls the client method to list objects
  718. should yield the right number of objects
  719. AWS::CloudFormation
  720. behaves like a class that accepts configuration
  721. accepts and returns a :config option
  722. constructor passes options to Configuration#with
  723. returns the merged config
  724. #stacks
  725. returns a stack collection
  726. returns a collection with the proper config
  727. #stack_summaries
  728. returns a stack collection
  729. #stack_resource
  730. accepts a stack name and a logical resource id
  731. when one string is passed, it is treated as a physical resource id
  732. returns a stack resource
  733. #validte_template
  734. calls #validate_template on the client
  735. returns a hash with parsed template details
  736. returns a hash of error details when invalid
  737. #estimate_template_cost
  738. calls #estimate_template_cost on the client
  739. accepts urls
  740. returns a url
  741. AWS::CloudWatch::AlarmCollection
  742. #create
  743. calls #put_metric_alarm on the client
  744. returns an alarm
  745. returns an alarm with the proper name
  746. returns an alarm with the proper config
  747. behaves like alarm create options
  748. raises an argument error if you omit comparison_operator
  749. behaves like alarm create options
  750. raises an argument error if you omit evaluation_periods
  751. behaves like alarm create options
  752. raises an argument error if you omit metric_name
  753. behaves like alarm create options
  754. raises an argument error if you omit namespace
  755. behaves like alarm create options
  756. raises an argument error if you omit period
  757. behaves like alarm create options
  758. raises an argument error if you omit statistic
  759. behaves like alarm create options
  760. raises an argument error if you omit threshold
  761. #[]
  762. returns a metric alarm
  763. #filter
  764. returns another collection
  765. returns a collection with the proper config
  766. returns a collection that applies the filter when enumerating
  767. chainable filter methods
  768. behaves like a filterable collection method
  769. is applied when enumerating
  770. behaves like a filterable collection method
  771. is applied when enumerating
  772. behaves like a filterable collection method
  773. is applied when enumerating
  774. behaves like a filterable collection method
  775. is applied when enumerating
  776. behaves like a filterable collection method
  777. is applied when enumerating
  778. behaves like a pageable collection with limits
  779. yields metrics
  780. behaves like a collection with #enum
  781. should be enumerable
  782. responds to enumerator
  783. returns an enumerator
  784. returns an enumerator for the each method
  785. passes arguments to the each method
  786. #each
  787. with :limit
  788. passes :limit as limit_key
  789. makes requests until the total number of items received == limit
  790. stops short of the limit if a truncated response is returned
  791. with :batch_size param
  792. convert batch size into a limit
  793. requests :batch_size num elements until response is truncated
  794. with :limit and :batch_size
  795. makes requests while response is truncated
  796. AWS::CloudWatch::AlarmHistoryItem
  797. behaves like alarm history item attribute
  798. #alarm_name
  799. returns the :alarm_name option passed to initialize
  800. behaves like alarm history item attribute
  801. #history_data
  802. returns the :history_data option passed to initialize
  803. aliases history_data as data
  804. behaves like alarm history item attribute
  805. #history_item_type
  806. returns the :history_item_type option passed to initialize
  807. aliases history_item_type as type
  808. behaves like alarm history item attribute
  809. #history_summary
  810. returns the :history_summary option passed to initialize
  811. aliases history_summary as summary
  812. behaves like alarm history item attribute
  813. #timestamp
  814. returns the :timestamp option passed to initialize
  815. AWS::CloudWatch::Alarm
  816. #name
  817. is aliased
  818. behaves like metric alarm attribute
  819. describe metric alarms to fetch attribute
  820. returns the attribute value
  821. behaves like metric alarm attribute
  822. describe metric alarms to fetch attribute
  823. returns the attribute value
  824. behaves like metric alarm attribute
  825. describe metric alarms to fetch attribute
  826. returns the attribute value
  827. behaves like metric alarm attribute
  828. describe metric alarms to fetch attribute
  829. returns the attribute value
  830. behaves like metric alarm attribute
  831. describe metric alarms to fetch attribute
  832. returns the attribute value
  833. behaves like metric alarm attribute
  834. describe metric alarms to fetch attribute
  835. returns the attribute value
  836. behaves like metric alarm attribute
  837. describe metric alarms to fetch attribute
  838. returns the attribute value
  839. behaves like metric alarm attribute
  840. describe metric alarms to fetch attribute
  841. returns the attribute value
  842. behaves like metric alarm attribute
  843. describe metric alarms to fetch attribute
  844. returns the attribute value
  845. behaves like metric alarm attribute
  846. describe metric alarms to fetch attribute
  847. returns the attribute value
  848. behaves like metric alarm attribute
  849. describe metric alarms to fetch attribute
  850. returns the attribute value
  851. behaves like metric alarm attribute
  852. describe metric alarms to fetch attribute
  853. returns the attribute value
  854. behaves like metric alarm attribute
  855. describe metric alarms to fetch attribute
  856. returns the attribute value
  857. behaves like metric alarm attribute
  858. describe metric alarms to fetch attribute
  859. returns the attribute value
  860. behaves like metric alarm attribute
  861. describe metric alarms to fetch attribute
  862. returns the attribute value
  863. behaves like metric alarm attribute
  864. describe metric alarms to fetch attribute
  865. returns the attribute value
  866. behaves like metric alarm attribute
  867. describe metric alarms to fetch attribute
  868. returns the attribute value
  869. behaves like metric alarm attribute
  870. describe metric alarms to fetch attribute
  871. returns the attribute value
  872. behaves like metric alarm attribute
  873. describe metric alarms to fetch attribute
  874. returns the attribute value
  875. behaves like metric alarm attribute
  876. describe metric alarms to fetch attribute
  877. returns the attribute value
  878. #histories
  879. returns alarm history
  880. returns a collection with the proper config
  881. #exists?
  882. returns true if it can be described
  883. returns false if it can not be found
  884. #delete
  885. calls #delete_alarms on the client
  886. #enable
  887. calls #enable_alarm_actions on the client
  888. #disable
  889. calls #disable_alarm_actions on the client
  890. #set_state
  891. calls #set_alarm_state on the client
  892. AWS::CloudWatch::MetricAlarmCollection
  893. #create
  894. calls #put_metric_alarm on the client and applies metric details
  895. behaves like metric alarm create options
  896. raises an argument error if you omit comparison_operator
  897. behaves like metric alarm create options
  898. raises an argument error if you omit evaluation_periods
  899. behaves like metric alarm create options
  900. raises an argument error if you omit period
  901. behaves like metric alarm create options
  902. raises an argument error if you omit statistic
  903. behaves like metric alarm create options
  904. raises an argument error if you omit threshold
  905. #[]
  906. returns a metric alarm
  907. behaves like a pageable collection
  908. yields metrics
  909. behaves like a collection with #enum
  910. should be enumerable
  911. responds to enumerator
  912. returns an enumerator
  913. returns an enumerator for the each method
  914. passes arguments to the each method
  915. #each
  916. calls the client method to list objects
  917. passes options to the client method
  918. yields once for each member
  919. AWS::CloudWatch::MetricCollection
  920. behaves like a pageable collection
  921. yields metrics
  922. behaves like a collection with #enum
  923. should be enumerable
  924. responds to enumerator
  925. returns an enumerator
  926. returns an enumerator for the each method
  927. passes arguments to the each method
  928. #each
  929. calls the client method to list objects
  930. passes options to the client method
  931. yields once for each member
  932. AWS::CloudWatch::Metric
  933. #name
  934. is aliased
  935. #alarms
  936. returns metric alarms
  937. #exists?
  938. returns true if it can be described
  939. returns false if it can not be found
  940. AWS::CloudWatch::AlarmHistoryItemCollection
  941. #filter
  942. returns another collection
  943. returns a collection with the proper config
  944. returns a collection that applies the filter when enumerating
  945. chainable filter methods
  946. behaves like an alarm history filter method
  947. is applied when enumerating
  948. behaves like an alarm history filter method
  949. is applied when enumerating
  950. behaves like an alarm history filter method
  951. is applied when enumerating
  952. behaves like an alarm history filter method
  953. is applied when enumerating
  954. behaves like a pageable collection with limits
  955. yields alarm history items
  956. behaves like a collection with #enum
  957. should be enumerable
  958. responds to enumerator
  959. returns an enumerator
  960. returns an enumerator for the each method
  961. passes arguments to the each method
  962. #each
  963. with :limit
  964. passes :limit as limit_key
  965. makes requests until the total number of items received == limit
  966. stops short of the limit if a truncated response is returned
  967. with :batch_size param
  968. convert batch size into a limit
  969. requests :batch_size num elements until response is truncated
  970. with :limit and :batch_size
  971. makes requests while response is truncated
  972. AWS::CloudWatch
  973. behaves like a class that accepts configuration
  974. accepts and returns a :config option
  975. constructor passes options to Configuration#with
  976. returns the merged config
  977. #put_metric_data
  978. calls #put_metric_data on the client
  979. #alarms
  980. it should behave like an cloud watch service collection
  981. should return an instance of AWS::CloudWatch::AlarmCollection
  982. should pass the config
  983. #metrics
  984. it should behave like an cloud watch service collection
  985. should return an instance of AWS::CloudWatch::MetricCollection
  986. should pass the config
  987. AWS
  988. configuration
  989. options
  990. :access_key_id
  991. defaults to nil
  992. can updated
  993. :secret_access_key
  994. defaults to nil
  995. can updated
  996. :session_token
  997. defaults to nil
  998. can updated
  999. :credential_provider
  1000. defaults to an AWS::Core::CredentialProviders::DefaultProvider
  1001. is constructed with the static credentials from config
  1002. returns the same credential provider when secrets do not change
  1003. constructs a new provider when the akid changes
  1004. constructs a new provider when the secret access key changes
  1005. constructs a new provider when the session token changes
  1006. :http_open_timeout
  1007. defaults to 15
  1008. can be changed
  1009. :http_read_timeout
  1010. defaults to 15
  1011. can be changed
  1012. :http_idle_timeout
  1013. defaults to 15
  1014. can be changed
  1015. :http_handler
  1016. defaults to a NetHttpHandler
  1017. uses the configured timeouts, logger and wire logging
  1018. returns the same handler if open and idle timeout dont change
  1019. constructs a new http handler when open timeout changes
  1020. constructs a new http handler when idle timeout changes
  1021. constructs a new http handler when logger changes
  1022. constructs a new http handler when http wire trace changes
  1023. :http_wire_trace
  1024. defaults to false
  1025. can be set to true
  1026. is aliased with a question mark
  1027. :logger
  1028. defaults to nil by default
  1029. accepts a new logger
  1030. :log_level
  1031. defaults to :info by default
  1032. can be changed
  1033. :log_formatter
  1034. defaults to the default log formatter
  1035. can be changed
  1036. :max_retries
  1037. defaults to 3
  1038. can be changed
  1039. :proxy_uri
  1040. defaults to nil
  1041. can be changed
  1042. parses strings as uris can be changed
  1043. :ssl_verify_peer
  1044. defaults to true
  1045. can be set to false
  1046. is aliases with a question mark
  1047. :ssl_ca_file
  1048. defaults to the bundled ca cert bundle
  1049. can be changed
  1050. :ssl_ca_path
  1051. defaults to nil
  1052. can be changed
  1053. :stub_requests
  1054. defaults to false
  1055. can be changed to true
  1056. is aliased with a question mark
  1057. :use_ssl
  1058. defaults to true
  1059. can be changed to false
  1060. is aliased with a question mark
  1061. :user_agent_prefix
  1062. defaults to nil
  1063. can be changed
  1064. AWS::Core::AsyncHandle
  1065. #on_success
  1066. should do nothing immediately if success has not been signaled
  1067. should call the block immediately if success is already signaled
  1068. #on_failure
  1069. should do nothing immediately if failure has not been signaled
  1070. should call the block immediately if failure is already signaled
  1071. #on_complete
  1072. should do nothing immediately if no status has been signaled
  1073. should call the block immediately if success is already signaled
  1074. should call the block immediately if failure is already signaled
  1075. #signal_success
  1076. with no callback
  1077. doesn't raise an exception
  1078. with one success callback
  1079. calls the callback
  1080. with two success callbacks
  1081. calls each callback
  1082. with one complete callback
  1083. calls the callback
  1084. with two complete callbacks
  1085. calls the callback
  1086. with one of each kind of callback
  1087. calls the success callback
  1088. calls the complete callback
  1089. does not call the failure callback
  1090. #signal_failure
  1091. with no callback
  1092. doesn't raise an exception
  1093. with one failure callback
  1094. calls the callback
  1095. with two failure callbacks
  1096. calls each callback
  1097. with one complete callback
  1098. calls the callback
  1099. with two complete callbacks
  1100. calls the callback
  1101. with one of each kind of callback
  1102. calls the failure callback
  1103. calls the complete callback
  1104. does not call the success callback
  1105. AWS::Core::Cacheable
  1106. #cache_key
  1107. should include the access key, endpoint, service, and local key
  1108. #retrieve_attribute
  1109. no response cache
  1110. should call the block
  1111. should return the attribute value from the response returned by the block
  1112. response cache active
  1113. includes a response with the attribute
  1114. should return the attribute value populated from the response
  1115. should not call the block
  1116. should not call the block even if the attribute value is nil
  1117. should call the block if the attribute is not included in the hash
  1118. should store the attributes in the resource cache
  1119. no matching responses
  1120. should call the block
  1121. should raise an exception if the response includes no information about the resource
  1122. AWS::Core::Client
  1123. logging
  1124. logs to the configured logger after each request
  1125. calls the logger method that matches the log level
  1126. passes the formatted log message to the logger
  1127. passes the response to the log formatter to build the message
  1128. AWS::Core::Collection::Simple
  1129. #each
  1130. yields once for each item in the collection
  1131. accepts the :limit option
  1132. returns a next_token if limited
  1133. returns nil if limit is greater than collection size
  1134. accepts :next_token as an offset
  1135. accpets a hash of options
  1136. accepts multiple options
  1137. #each_batch
  1138. yields all items in a single array to the first block
  1139. accepts :limit
  1140. accepts :next_token
  1141. accpets custom options
  1142. accpets multiple options
  1143. #in_groups_of
  1144. yields items in arrays of the given size
  1145. accepts the :limit option
  1146. accepts custom options
  1147. accepts multiple options
  1148. #enum
  1149. returns an enumerator
  1150. calls #each on the collection
  1151. passes along options
  1152. #first
  1153. returns the first element
  1154. accepts :next_token
  1155. accepts custom options
  1156. accepts multiple options
  1157. #page
  1158. returns a page result
  1159. defaults page size to 10
  1160. #collection
  1161. returns the collection that is being paged
  1162. maintains the collection across paging requests
  1163. #next_token
  1164. returns a simulated next_token which is actually an offset
  1165. converts :next_token of nil into the first page
  1166. converts :next_token of empty string into the first page
  1167. converts :next_token of 0 into the first page
  1168. converts :next_token of '0' into the first page
  1169. returns an empty collection with :next_token is too large
  1170. #next_page
  1171. grabs the next page of items
  1172. works with alternate :per_page values
  1173. #collection
  1174. returns the entire list when it receives #collection
  1175. AWS::Core::Collection::WithNextToken
  1176. #each
  1177. yields once for each item in the collection
  1178. limits the number of items returned
  1179. returns a next_token when fewer than all items returned
  1180. returns nil if limit is greater than collection size
  1181. accepts :next_token with an offset
  1182. passes additional options to the data provider
  1183. keeps getting data until all items are returned
  1184. #each_batch
  1185. yields items in batches of a size determined by the provider
  1186. accepts :limit
  1187. accepts :next_token without offset
  1188. accepts :next_token with offset
  1189. accepts offset without :next_token
  1190. accepts :next_token with :offset and :limit
  1191. #in_groups_of
  1192. yields items in arrays of the given size
  1193. accepts the :limit option
  1194. accepts custom options
  1195. #enum
  1196. returns an enumerator
  1197. calls #each on the collection
  1198. passes along options
  1199. makes no calls against the provider
  1200. #first
  1201. returns the first element
  1202. accepts :next_token
  1203. accepts custom options
  1204. makes a single call against the data provider
  1205. #page
  1206. returns a page result
  1207. defualts page size to 10
  1208. #collection
  1209. returns the collection that is being paged
  1210. maintains the collection across paging requests
  1211. #next_token
  1212. returns a simulated next_token which is actually an offset
  1213. returns a simulated next_token hash with a real next token
  1214. converts :next_token of nil into the first page
  1215. converts :next_token of empty string into the first page
  1216. returns a real next token when page and batch size lines up
  1217. returns an empty collection with :next_token is too large
  1218. #next_page
  1219. when page size is smaller than batch size
  1220. when page size is larger than batch size
  1221. works with alternate :per_page values
  1222. #collection
  1223. returns the entire list when it receives #collection
  1224. AWS::Core::Configuration
  1225. basic options
  1226. adds a method for options
  1227. adds a question method for boolean options
  1228. defaults basic options to nil
  1229. observes defined default values
  1230. allows you to override defaults at the getter
  1231. block-level default overrides do no hide provided values
  1232. allows you to blank out default values
  1233. can transform values
  1234. passes the configuration object to the config block
  1235. passes default nil values to the transform block
  1236. returns values as passed to #new
  1237. returns passed values instead of defaults
  1238. transforms values as passed to #new
  1239. has a short inspect string
  1240. can be compared to another config
  1241. #with
  1242. returns a new configuration object
  1243. returns a new configuration object with the value overridden
  1244. does not modify the source configuration object
  1245. returns self if the object would not change
  1246. returns a config object with all overriden values intact
  1247. #credentials
  1248. returns the credentails
  1249. includes the session token when provided
  1250. options with needs
  1251. adds a method for each option (including those with needs)
  1252. call the create block to construct objects with needs
  1253. only calls the create block once normally
  1254. keeps constructed objects between configurations
  1255. reconstructs objects when one of their needs changes
  1256. does not change the original constructed object when the needs change in a derived config
  1257. chains deeply on dependencies
  1258. rebuilds only those affected by changes
  1259. can return a hash of all configuration values
  1260. AWS::Core::CredentialProviders::DefaultProvider
  1261. raises an error when no credentials are present
  1262. provides a default chain of providers
  1263. passes static credentials to a static credential provider
  1264. enumerates providers asking for credentials
  1265. AWS::Core::CredentialProviders::StaticProvider
  1266. raises an error when no credentials are present
  1267. returns credentials when provided
  1268. returns credentials with session tokens when provided
  1269. ommits nil values from credentials
  1270. protects static credetials from downstream changes
  1271. raises an error if you pass an unexpected option
  1272. AWS::Core::CredentialProviders::ENVProvider
  1273. returns the prefix it was constructed with
  1274. raises an error when no credentials are present
  1275. returns credentials when provided
  1276. returns credentials with session tokens when provided
  1277. ommits nil values from credentials
  1278. does not access/cache credentials until asked
  1279. protects static credetials from downstream changes
  1280. AWS::Core::CredentialProviders::EC2Provider
  1281. fetches credentials from the metadata service
  1282. caches credentials
  1283. makes a new request for creds when refresh is called
  1284. timeouts
  1285. has a short default timeouts
  1286. accepts alternate timeout values
  1287. uses the timeouts when request credentials
  1288. AWS::Core::CredentialProviders::SessionProvider
  1289. can be constructed via SessionProvider.for
  1290. can not be constructed via SessionProvider.new
  1291. accepts long term credentials
  1292. raises an error if you pass an unexpected option
  1293. raises an argument error when given a session token
  1294. constructs a new sts session and returns those credentials
  1295. uses the long term credentials to request an sts session
  1296. requests a new sts session when it receives #refresh
  1297. AWS::Core::Data
  1298. #kind_of?
  1299. returns true for Hash
  1300. returns true for Array on list elements
  1301. #[]
  1302. provides hash-style access to the raw data
  1303. returns nested hases as a response data object
  1304. returns nested arrays as arrays
  1305. returns hashes inside arrays as response data objects
  1306. provides access via nested arrays
  1307. invalid keys
  1308. raises meaningful errors about missing data
  1309. prevents access past array boundries
  1310. lets you know when you treat an array like a hash
  1311. lets you know when you treat an array like a hash via method missing
  1312. does not accept args via method-missing
  1313. #to_hash
  1314. returns the raw data
  1315. is aliased as #to_h
  1316. #inspect
  1317. returns an inspect string based on the raw data
  1318. #id
  1319. checks the data for an id first
  1320. #method_missing
  1321. provides method-style access to the data
  1322. provides access first to hash values with the given key
  1323. provides access to the real method if a block is passed
  1324. provides access to the real method args are passed
  1325. wraps yielded elements
  1326. works with multi-value yields (e.g. Hash#each)
  1327. #inject
  1328. works with inject on lists of hashes
  1329. AWS::Core::Http::Handler
  1330. #intialize
  1331. accepts a base handler and a handle method block
  1332. requires the base handler to response to #handle
  1333. requires the block to accept 2 arguments
  1334. #handle
  1335. should execute the passed block when called
  1336. provides access to the base handler from the block via super
  1337. should pass the #handle request to the block
  1338. should pass the #handle response to the block
  1339. should not trap exceptions
  1340. #base
  1341. should return the base hander
  1342. with synchronous base
  1343. #handle_async
  1344. should execute the passed block in a new thread when called
  1345. provides access to the base handler from the block via super
  1346. should trap exceptions
  1347. should signal failure on an exception
  1348. should signal success on completion
  1349. with asynchronous base
  1350. #initialize
  1351. should accept a handler that responds to handle_async
  1352. should raise an error if the block does not have arity 3
  1353. #handle_async
  1354. should call the block
  1355. should provide access to the base handler via super
  1356. #handle
  1357. should raise an error
  1358. AWS::Core::Http::HTTPartyHandler
  1359. should be accessible from AWS as well as AWS::Core
  1360. #initialize
  1361. should set the default request options
  1362. #handle
  1363. timeouts
  1364. should rescue Timeout::Error
  1365. should rescue Errno::ETIMEDOUT
  1366. should indicate that there was a timeout
  1367. default request options
  1368. passes extra options through to HTTParty
  1369. uses the default when the request option is not set
  1370. prefers the request option when set
  1371. :proxy_uri
  1372. passes proxy address and port from the request
  1373. CA cert path
  1374. should not set the ssl_ca_file option without use_ssl?
  1375. use_ssl? is true
  1376. should not set the ssl_ca_file option without ssl_verify_peer?
  1377. ssl_verify_peer? is true
  1378. should use the ssl_ca_file attribute of the request
  1379. AWS::Core::Http::NetHttpHandler
  1380. http session
  1381. connects to the request host
  1382. starts and stops the http session around the request
  1383. proxies
  1384. passes proxy information to the session
  1385. ssl verification
  1386. enables ssl on the http session when the request is ssl
  1387. enables ssl but not verification when verify peer is false
  1388. disnables ssl on the http session when the request is not ssl
  1389. request
  1390. builds the request with the request uri, headers and body
  1391. makes a get request when http method is GET
  1392. makes a get request when http method is PUT
  1393. makes a get request when http method is POST
  1394. makes a get request when http method is HEAD
  1395. makes a get request when http method is DELETE
  1396. raises an error for unhandled http request methods
  1397. response
  1398. populates the response body from the http response
  1399. populates the response status from the http response code
  1400. populates the response headers from the http response headers
  1401. timeouts
  1402. traps timeout errors and populates them on the response
  1403. AWS::Core::Http::Request::Param
  1404. has a name
  1405. has a value
  1406. should be sortable by their names
  1407. #initialize
  1408. requires a name
  1409. defaults value to nil
  1410. #to_s
  1411. should return the name and value joined by a =
  1412. should not encode the name or value
  1413. should not return an = sign when value is not present
  1414. #encoded
  1415. should return a url safe string name/value pair joined by =
  1416. should convert spaces to %20
  1417. should encode the name
  1418. should encode extra equal signs
  1419. should encode new-lines
  1420. should not encode tilde
  1421. with transcoding support
  1422. should convert to UTF-8 before encoding
  1423. AWS::Core::Http::Request
  1424. #initialize
  1425. accepts no params
  1426. #use_ssl?
  1427. defaults to true
  1428. can be set to false
  1429. #method
  1430. defaults to POST
  1431. can be set
  1432. #host
  1433. defaults host to nil
  1434. can be set directly
  1435. #path
  1436. defaults to /
  1437. can be set directly
  1438. #headers
  1439. defaults headers to an empty hash
  1440. #uri
  1441. is /
  1442. can not be changed
  1443. #url_encoded_params
  1444. defaults to nil
  1445. joins param names and values with =
  1446. joins multiple params with an &
  1447. sorts params
  1448. accepts params that have no values
  1449. url encodes param names and valeus
  1450. #body
  1451. defaults to nil
  1452. contains the url_encoded_params
  1453. #params
  1454. should return an array
  1455. should return params in the ordered they were added
  1456. #add_param
  1457. should add a param
  1458. should add a param with the correct value
  1459. should increase the number of params
  1460. #get_param
  1461. should raise an error for non-existant params
  1462. AWS::Core::Http::Response
  1463. default values
  1464. should default status to 200
  1465. should default headers to a empty hash
  1466. should default body to an empty string
  1467. #initialize
  1468. should return a response
  1469. should yield a response
  1470. should return the same response it yields
  1471. should accept status
  1472. should accept body
  1473. should accept headers
  1474. #header
  1475. returns nil when the response does not have the header
  1476. returns the matching response header
  1477. symbolizes header name
  1478. lowercases keys to match
  1479. lowercases header keys to match
  1480. lowercases both keys to match
  1481. returns the first value of header value array
  1482. returns nil unmodified
  1483. AWS::Core::IndifferentHash
  1484. should be a hash
  1485. #intialize
  1486. converts incoming shallow hashes to string keys
  1487. #[]=
  1488. converts symbol keys into strings
  1489. converts incomming key objects into strings
  1490. #[]
  1491. allows accessing values by symbols
  1492. #merge!
  1493. modifies the hash in place
  1494. #update
  1495. should be an alias of #merge!
  1496. #merge
  1497. modifies the hash in place
  1498. #has_key?
  1499. accepts symbol keys
  1500. has aliases
  1501. #fetch
  1502. accepts symbol keys
  1503. still provides the default behaviour
  1504. #delete
  1505. accepts symbol keys
  1506. AWS::Core::Inflection
  1507. #ruby_name
  1508. strips namespaces (Foo::Bar::Yuck::AbcXyz => abc_xyz)
  1509. does not modify lowercase words (foo => foo)
  1510. does not modify lowercase words w/underscores (foo_bar => foo_bar)
  1511. inflects titleized words
  1512. inflects AWS to aws
  1513. inflects leading caps (upper camel case) words
  1514. inflects words with trailing acroynms
  1515. inflects acroynms with numbers
  1516. inflects SentLast24Hours to sent_last_24_hours
  1517. inflects AWSAccountID to aws_account_id
  1518. inflects MD5OfBody to md5_of_body
  1519. deals with words that start with a lower case letter
  1520. inflects ETag to etag (irregular inflection, should be e_tag)
  1521. #class_name
  1522. inflects foo to Foo
  1523. inflects foo_bar to FooBar
  1524. inflects FooBar to FooBar
  1525. inflects foo-bar to FooBar
  1526. AWS::Core::LazyErrorClasses
  1527. #error_class
  1528. should get the same class as const_missing
  1529. should change "." to "::"
  1530. should generate unique classes by segmented code
  1531. should generate named classes
  1532. works with codes that are already Ruby class names
  1533. works with codes that are already defined in Core
  1534. AWS::Core::LogFormatter
  1535. #pattern
  1536. it set in the constructor
  1537. #max_string_size
  1538. defaults to 1000
  1539. can be overridden in the constructor
  1540. #format
  1541. returns the pattern string
  1542. substitutions
  1543. returns unknown substitutions unmodified
  1544. replaces :service with the request class service name
  1545. replaces :region with the request region
  1546. replaces :operation with the response request type
  1547. replaces :retry_count with the response retry count
  1548. replaces :http_request_host with the http request host
  1549. replaces :http_request_port with the http request port
  1550. replaces :http_request_uri with the http request uri
  1551. replaces :http_request_body with the http request body
  1552. replaces :http_request_headers with the inspected headers
  1553. replaces :http_request_proxy_uri with the http request proxy uri
  1554. replaces :http_response_status with the http response status code
  1555. replaces :http_response_headers with the inspected response headers
  1556. replaces :http_response_body with the http response body
  1557. :duration
  1558. replaces :duration with the response duration
  1559. rounds precision at 6 decimal places
  1560. purnes trailing zeros from the decimal part
  1561. shows the full integer part
  1562. replaces :error_class
  1563. returns an empty string if there is no error
  1564. returns the class name when an error is present
  1565. :error_message
  1566. returns an empty string if there is no error
  1567. returns the error message when an error is present
  1568. :http_request_method
  1569. replaces :http_request_method with the http verb
  1570. accepts alternative methods
  1571. :http_request_protocol
  1572. replaces :http_request_protocol with https when ssl is enabled
  1573. replaces :http_request_protocol with http when ssl is disabled
  1574. :options
  1575. replaces :options with an empty string when nil
  1576. replaces :options with the inspected client request options
  1577. truncates strings that exceede the max size
  1578. summarizes files and gives their size
  1579. summarizes pathnames and gives their size
  1580. handles nested hashes
  1581. handles nested arrays
  1582. inspects all other objects
  1583. AWS::Core::MetaUtils
  1584. #class_extend_method
  1585. should cause instances to respond to the method
  1586. should inherit from the previous definition
  1587. AWS::Core::OptionGrammar
  1588. default behavior
  1589. #validate
  1590. should not raise an error for an empty option set
  1591. should raise an error for any option that is passed
  1592. #request_params
  1593. should return an empty list for an empty option set
  1594. should raise exceptions as thrown by validate
  1595. #to_h
  1596. should return an empty hash
  1597. should validate the argument
  1598. #to_json
  1599. should call to_h and JSON-ify the result
  1600. #customize
  1601. should return a subclass of OptionGrammar
  1602. hint data
  1603. as strings
  1604. behaves like basic options
  1605. per-option validators
  1606. should exist for each configured option
  1607. #validate
  1608. should not raise an error for any of the options named in the list
  1609. should accept string option names
  1610. should raise an error for any options not listed
  1611. #request_params
  1612. should construct request parameters for each option
  1613. #to_h
  1614. should inflect the names
  1615. per-option validators
  1616. should raise an exception if the value does not have to_str
  1617. should not raise an exception if the value is a string
  1618. as hashes
  1619. should raise an error if the hash is empty
  1620. should raise an error if the hash has more than one entry
  1621. should raise an error if the value is not an array
  1622. should not raise an error if the value is nil
  1623. behaves like basic options
  1624. per-option validators
  1625. should exist for each configured option
  1626. #validate
  1627. should not raise an error for any of the options named in the list
  1628. should accept string option names
  1629. should raise an error for any options not listed
  1630. #request_params
  1631. should construct request parameters for each option
  1632. #to_h
  1633. should inflect the names
  1634. top-level hash
  1635. behaves like basic options
  1636. per-option validators
  1637. should exist for each configured option
  1638. #validate
  1639. should not raise an error for any of the options named in the list
  1640. should accept string option names
  1641. should raise an error for any options not listed
  1642. #request_params
  1643. should construct request parameters for each option
  1644. #to_h
  1645. should inflect the names
  1646. value descriptors
  1647. required
  1648. should cause validate to reject hashes without the option
  1649. should not change the behavior if the option is provided
  1650. integer
  1651. should cause validate to reject values that do not support to_int
  1652. should accept integers
  1653. boolean
  1654. should cause validate to reject values that are not boolean
  1655. should accept booleans
  1656. bigdecimal
  1657. should cause validate to reject values that are not numbers
  1658. should accept Fixnums
  1659. should accept Floats
  1660. should accept BigDecimals
  1661. should accept Bignums
  1662. hash format
  1663. should convert the number to a BigDecimal
  1664. string
  1665. should cause validate to reject values that do not support to_str
  1666. should accept strings
  1667. list
  1668. should cause validate to reject values that do not support each
  1669. should accept arrays
  1670. should send an empty list as an empty parameter
  1671. should send items with the list name and a 1-based index as prefix
  1672. hash format
  1673. should send the list as a list
  1674. list of integers
  1675. should cause validate to reject lists of strings
  1676. structure
  1677. should cause validate to accept a hash
  1678. should cause validate to accept a hash with the original member name
  1679. should cause validate to reject strings
  1680. should cause validate to reject an integer value for the member
  1681. should cause validate to reject a hash with an unexpected entry
  1682. should cause validate to reject a hash without a required entry
  1683. should cause validate to accept a hash with a required entry using the original name
  1684. should send members prefixed by the structure name
  1685. hash format
  1686. should inflect the nested option names
  1687. list of structures
  1688. should cause validate to reject a string for the prop member of the structure
  1689. should prefix parameters appropriately
  1690. hash format
  1691. should inflect structure properties
  1692. structure with list
  1693. should cause validate to reject strings in the list
  1694. should prefix parameters appropriately
  1695. hash format
  1696. should include the list in the output
  1697. map
  1698. should cause validate to reject strings
  1699. should cause validate to reject lists
  1700. should validate the keys
  1701. should validate the values
  1702. should generate the correct query parameters (PENDING: Not yet implemented)
  1703. hash format
  1704. should pass the hash as is
  1705. map of string to list
  1706. should validate the list members
  1707. should generate the correct query parameters (PENDING: Not yet implemented)
  1708. hash format
  1709. should pass the hash as is
  1710. map of string to structure
  1711. should generate the correct query parameters (PENDING: Not yet implemented)
  1712. hash format
  1713. should inflect the keys in the structure
  1714. rename
  1715. should cause validation to reject the original name
  1716. should cause validation to use the new name in exceptions
  1717. should cause validation to accept the new name
  1718. should construct the parameter with the original name
  1719. should rubyize the name
  1720. inherited descriptors
  1721. should cause validate to accept integers
  1722. should not modify the original grammar
  1723. AWS::Core::Policy
  1724. #initialize
  1725. Warning: cannot open /proc/net/dev (No such file or directory). Limited output.
  1726. yields the policy instance
  1727. should work with no block
  1728. should accept Statement and construct statements
  1729. should accept :statements and construct statements
  1730. it should behave like singular constructor arg
  1731. should accept Id
  1732. should accept :id
  1733. should output the :id constructor arg
  1734. should not have a id value when it is explicitly nil
  1735. it should behave like singular constructor arg
  1736. should accept Version
  1737. should accept :version
  1738. should output the :version constructor arg
  1739. should not have a version value when it is explicitly nil
  1740. ::from_json
  1741. passes the parsed JSON to the constructor
  1742. empty
  1743. #to_h
  1744. should contain a version key
  1745. should use a UUID to generate an alphanumeric ID
  1746. #to_json
  1747. should serialize the result of to_h
  1748. with a statement
  1749. #to_h
  1750. should have the statement hash in the Statement array
  1751. adding statements
  1752. #allow
  1753. should construct a statement with the allow effect
  1754. should pass any hash arguments to the statement constructor
  1755. should let you set a condition
  1756. should let you set a condition for multiple values
  1757. should let you set multiple conditions
  1758. should let you directly specify the operator as a string
  1759. should append the statement to the policy
  1760. it should behave like condition operator builder
  1761. should let you construct a condition using the #{sym} operator
  1762. it should behave like condition operator builder
  1763. should let you construct a condition using the #{sym} operator
  1764. it should behave like condition operator builder
  1765. should let you construct a condition using the #{sym} operator
  1766. it should behave like condition operator builder
  1767. should let you construct a condition using the #{sym} operator
  1768. it should behave like condition operator builder
  1769. should let you construct a condition using the #{sym} operator
  1770. it should behave like condition operator builder
  1771. should let you construct a condition using the #{sym} operator
  1772. it should behave like condition operator builder
  1773. should let you construct a condition using the #{sym} operator
  1774. it should behave like condition operator builder
  1775. should let you construct a condition using the #{sym} operator
  1776. it should behave like condition operator builder
  1777. should let you construct a condition using the #{sym} operator
  1778. it should behave like condition operator builder
  1779. should let you construct a condition using the #{sym} operator
  1780. it should behave like condition operator builder
  1781. should let you construct a condition using the #{sym} operator
  1782. it should behave like condition operator builder
  1783. should let you construct a condition using the #{sym} operator
  1784. it should behave like condition operator builder
  1785. should let you construct a condition using the #{sym} operator
  1786. it should behave like condition operator builder
  1787. should let you construct a condition using the #{sym} operator
  1788. it should behave like condition operator builder
  1789. should let you construct a condition using the #{sym} operator
  1790. it should behave like condition operator builder
  1791. should let you construct a condition using the #{sym} operator
  1792. it should behave like condition operator builder
  1793. should let you construct a condition using the #{sym} operator
  1794. #deny
  1795. should construct a statement with the deny effect
  1796. should append the statement to the policy
  1797. AWS::Core::Policy::Statement
  1798. it should behave like generic policy statement
  1799. raises an error for symbolized action names
  1800. #initialize
  1801. should yield the statement object
  1802. should work without a block
  1803. should not output both Action and NotAction
  1804. it should behave like singular constructor arg
  1805. should accept Effect
  1806. should accept :effect
  1807. should output the :effect constructor arg
  1808. should not have a effect value when it is explicitly nil
  1809. it should behave like singular constructor arg
  1810. should accept Sid
  1811. should accept :sid
  1812. should output the :sid constructor arg
  1813. should not have a sid value when it is explicitly nil
  1814. it should behave like array constructor arg
  1815. should accept actions (single)
  1816. should accept Action (single)
  1817. should accept actions (multiple)
  1818. should accept Action (multiple)
  1819. it should behave like array constructor arg
  1820. should accept excluded_actions (single)
  1821. should accept NotAction (single)
  1822. should accept excluded_actions (multiple)
  1823. should accept NotAction (multiple)
  1824. it should behave like array constructor arg
  1825. should accept principals (single)
  1826. should accept Principal (single)
  1827. should accept principals (multiple)
  1828. should accept Principal (multiple)
  1829. it should behave like array constructor arg
  1830. should accept resources (single)
  1831. should accept Resource (single)
  1832. should accept resources (multiple)
  1833. should accept Resource (multiple)
  1834. Principal hash option
  1835. should accept a hash
  1836. should accept a single AWS principal
  1837. should accept multiple AWS principals
  1838. Condition hash option
  1839. should construct a ConditionBlock
  1840. empty
  1841. #to_h
  1842. should have an Sid generated from a UUID
  1843. should not have a principal
  1844. should not have a condition block
  1845. with an effect
  1846. should generate an Effect
  1847. with AWS account principals
  1848. should generate a multi-valued Principal
  1849. with any AWS account principal
  1850. should generate a wildcard Principal
  1851. with a prefixed string action
  1852. should generate an Action
  1853. with any action
  1854. should generate a wildcard Action
  1855. with multiple actions
  1856. should generate a multi-valued Action
  1857. excluded actions
  1858. should generate a multi-valued NotAction
  1859. #include_actions
  1860. should generate a multi-valued Action
  1861. should add to existing actions
  1862. #exclude_actions
  1863. should generate a multi-valued NotAction
  1864. should add to existing actions
  1865. with a resource ARN
  1866. should generate a Resource key
  1867. with :any as the resource
  1868. should generate a wildcard for the Resource
  1869. with a condition block
  1870. should generate a Condition key
  1871. #conditions
  1872. should be a ConditionBlock by default
  1873. AWS::Core::Policy::ConditionBlock
  1874. #initialize
  1875. should accept a hash
  1876. should output the provided hash by default
  1877. should not modify the hash when conditions are added
  1878. #add
  1879. should raise an error for duplicate operator-key combinations
  1880. #[]
  1881. should return another condition block
  1882. should filter out operators where no triples match
  1883. should filter out keys where no triples match
  1884. string filters
  1885. should filter by operator
  1886. should filter by key
  1887. symbol key filters
  1888. should work for global keys
  1889. should work for header-style S3 keys
  1890. symbol operator filters
  1891. should work for unambiguous operators
  1892. should return all possibilities for type-sensitive operators
  1893. should work for date operators with string values
  1894. #values
  1895. should return all the values in the block
  1896. should work when the condition block was passed to the constructor
  1897. #keys
  1898. should return all the unique keys in the block
  1899. should work when the condition block has a no keys for an operator
  1900. #operators
  1901. should return all the operators in the block
  1902. should not return operators that are not used in any condition
  1903. with a condition
  1904. single value
  1905. should generate a nested hash structure
  1906. multiple values
  1907. should generate a nested hash structure
  1908. multiple keys for the same operator
  1909. should merge them
  1910. symbol operators
  1911. should raise an error for unrecognized symbols
  1912. string values
  1913. it should behave like symbol translation
  1914. :is should become StringEquals
  1915. it should behave like symbol translation
  1916. :not should become StringNotEquals
  1917. it should behave like symbol translation
  1918. :like should become StringLike
  1919. it should behave like symbol translation
  1920. :not_like should become StringNotLike
  1921. it should behave like symbol translation
  1922. :is_ignoring_case should become StringEqualsIgnoreCase
  1923. it should behave like symbol translation
  1924. :not_ignoring_case should become StringNotEqualsIgnoreCase
  1925. numeric values
  1926. it should behave like symbol translation
  1927. :is should become NumericEquals
  1928. it should behave like symbol translation
  1929. :not should become NumericNotEquals
  1930. it should behave like symbol translation
  1931. :less_than should become NumericLessThan
  1932. it should behave like symbol translation
  1933. :less_than_equals should become NumericLessThanEquals
  1934. it should behave like symbol translation
  1935. :greater_than should become NumericGreaterThan
  1936. it should behave like symbol translation
  1937. :greater_than_equals should become NumericGreaterThanEquals
  1938. it should behave like symbol translation
  1939. :lt should become NumericLessThan
  1940. it should behave like symbol translation
  1941. :lte should become NumericLessThanEquals
  1942. it should behave like symbol translation
  1943. :gt should become NumericGreaterThan
  1944. it should behave like symbol translation
  1945. :gte should become NumericGreaterThanEquals
  1946. Time
  1947. should be converted to ISO 8601
  1948. it should behave like date/time values
  1949. it should behave like symbol translation
  1950. :is should become DateEquals
  1951. it should behave like symbol translation
  1952. :not should become DateNotEquals
  1953. it should behave like symbol translation
  1954. :less_than should become DateLessThan
  1955. it should behave like symbol translation
  1956. :less_than_equals should become DateLessThanEquals
  1957. it should behave like symbol translation
  1958. :greater_than should become DateGreaterThan
  1959. it should behave like symbol translation
  1960. :greater_than_equals should become DateGreaterThanEquals
  1961. it should behave like symbol translation
  1962. :lt should become DateLessThan
  1963. it should behave like symbol translation
  1964. :lte should become DateLessThanEquals
  1965. it should behave like symbol translation
  1966. :gt should become DateGreaterThan
  1967. it should behave like symbol translation
  1968. :gte should become DateGreaterThanEquals
  1969. Date
  1970. should be converted to ISO 8601
  1971. it should behave like date/time values
  1972. it should behave like symbol translation
  1973. :is should become DateEquals
  1974. it should behave like symbol translation
  1975. :not should become DateNotEquals
  1976. it should behave like symbol translation
  1977. :less_than should become DateLessThan
  1978. it should behave like symbol translation
  1979. :less_than_equals should become DateLessThanEquals
  1980. it should behave like symbol translation
  1981. :greater_than should become DateGreaterThan
  1982. it should behave like symbol translation
  1983. :greater_than_equals should become DateGreaterThanEquals
  1984. it should behave like symbol translation
  1985. :lt should become DateLessThan
  1986. it should behave like symbol translation
  1987. :lte should become DateLessThanEquals
  1988. it should behave like symbol translation
  1989. :gt should become DateGreaterThan
  1990. it should behave like symbol translation
  1991. :gte should become DateGreaterThanEquals
  1992. DateTime
  1993. should be converted to ISO 8601
  1994. it should behave like date/time values
  1995. it should behave like symbol translation
  1996. :is should become DateEquals
  1997. it should behave like symbol translation
  1998. :not should become DateNotEquals
  1999. it should behave like symbol translation
  2000. :less_than should become DateLessThan
  2001. it should behave like symbol translation
  2002. :less_than_equals should become DateLessThanEquals
  2003. it should behave like symbol translation
  2004. :greater_than should become DateGreaterThan
  2005. it should behave like symbol translation
  2006. :greater_than_equals should become DateGreaterThanEquals
  2007. it should behave like symbol translation
  2008. :lt should become DateLessThan
  2009. it should behave like symbol translation
  2010. :lte should become DateLessThanEquals
  2011. it should behave like symbol translation
  2012. :gt should become DateGreaterThan
  2013. it should behave like symbol translation
  2014. :gte should become DateGreaterThanEquals
  2015. boolean values
  2016. it should behave like symbol translation
  2017. :is should become Bool
  2018. ip addresses
  2019. it should behave like symbol translation
  2020. :is_ip_address should become IpAddress
  2021. it should behave like symbol translation
  2022. :not_ip_address should become NotIpAddress
  2023. arns
  2024. it should behave like symbol translation
  2025. :is_arn should become ArnEquals
  2026. it should behave like symbol translation
  2027. :not_arn should become ArnNotEquals
  2028. it should behave like symbol translation
  2029. :is_arn_like should become ArnLike
  2030. it should behave like symbol translation
  2031. :not_arn_like should become ArnNotLike
  2032. symbol keys
  2033. should use the aws:* prefix by default
  2034. should use s3:* when the symbol starts with s3_
  2035. should use lower-case-and-dashes for S3 keys
  2036. should special-case VersionId
  2037. should special-case LocationConstraint
  2038. AWS::Core::ResourceCache
  2039. #store
  2040. should cause the provided attributes to be cached
  2041. should not remove attributes that are already cached
  2042. should update the stored values of the provided attributes
  2043. #cached?
  2044. should return false if the resource is cached without the attribute
  2045. should return true if the attribute is cached with a nil value
  2046. #get
  2047. should return the stored value
  2048. should raise an error if the resource is not cached
  2049. AWS::Core::ResponseCache
  2050. #add
  2051. should add to the beginning of the cached responses list
  2052. #cached_responses
  2053. should default to an empty array
  2054. #select
  2055. without a block
  2056. should return each response of the given type
  2057. should accept multiple types
  2058. should accept strings
  2059. with a block
  2060. should match the type and filter by the block
  2061. #cached
  2062. should return the cached response if the key matches
  2063. should return nil if none match
  2064. #resource_cache
  2065. should be an instance of ResourceCache
  2066. should use a new cache each time a response is received
  2067. AWS::Core::Response
  2068. #initialize
  2069. should not require any arguments
  2070. #data
  2071. returns the value passed in
  2072. #[]
  2073. returns the hash data at the given key
  2074. #method_missing
  2075. returns the hash data at the given key wrapped in a Core::Data obj
  2076. #rebuild_request
  2077. should call the block passed to initialize
  2078. should set http_request to the return value of the block
  2079. #http_request
  2080. uses rebuild_request if no http_request is set
  2081. returns the http request object
  2082. #http_response
  2083. returns the http response object
  2084. #successful?
  2085. returns true if error is not nil
  2086. returns true if error is nil
  2087. #throttled?
  2088. returns true if the request was throttled
  2089. returns false for successful requests
  2090. returns true for failed requests with a Throttling code
  2091. #timeout?
  2092. returns fals if the http request did not time out
  2093. returns true if the http request timed out
  2094. #inspect
  2095. has a simple inspect string
  2096. is the inspect string for the response data
  2097. #cache_key
  2098. should consist of the access key, endpoint, and options
  2099. serialized options
  2100. hash
  2101. should alphabetize the keys
  2102. should use :inspect to serialize the values
  2103. should serialize nested hashes the same way
  2104. array
  2105. should inspect each element
  2106. should recurse into nested hashes
  2107. should represent empty arrays as "[]"
  2108. AWS::Core::XML::Parser
  2109. without rules
  2110. represents empty elements as nil
  2111. represent string elements as strings
  2112. represents numeric elements as strings by default
  2113. provides access to nested string elements
  2114. provides acccess to deeper nested string elements
  2115. flattens elements of the same name by default
  2116. provides access to attributes
  2117. gives priority to nested elements to attributes of same name
  2118. typecasting elements
  2119. boolean
  2120. type casts "true" to the boolean true
  2121. type casts "false" to the boolean false
  2122. type casts nil to the boolean false
  2123. defaults forced-missing boolean elements to false
  2124. adds question-mark methods to the resonse structure
  2125. datetime
  2126. can convert the standard amazon format to a datetime object
  2127. can convert non standard amazon formats to datetime objects
  2128. returns empty elements typed a datetime as nil
  2129. time
  2130. can convert the standard amazon format to a time object
  2131. can convert non standard amazon formats to time objects
  2132. returns empty elements typed a time as nil
  2133. blob
  2134. should base64 decode blob elements
  2135. empty elements typed as blobs are returned as nil
  2136. integer
  2137. should cast values to an integer
  2138. empty elements typed as integer are returned as nil, not zero
  2139. float
  2140. should cast values to an float
  2141. empty elements typed as floats are returned as nil, not zero
  2142. symbol
  2143. should cast values to a symbol
  2144. formats string values with ruby_name before symbolizing
  2145. empty elements typed as symbols are returned as nil, not symbols
  2146. renaming elements
  2147. renames elements as they appear in the data hash
  2148. no longer provides access to the element via the old name
  2149. collecting elements
  2150. should be able to collect values from amoungst others
  2151. should be able to turn a nested structure into a list
  2152. always returns an array, even if the element is missing
  2153. forcing elements
  2154. forces an entry in the response data even when not present in xml
  2155. can force elements down a tree
  2156. wrapping elements
  2157. adds a method for the wrapper
  2158. should nest wrapped elements
  2159. should wrap forced missing elements
  2160. should be able to wrap lists
  2161. should not provide access to wrapped elements at their old loc
  2162. ignoring elements
  2163. pulls child elements back 1 element from ignored elements
  2164. does not add a method to to response data for the ignored element
  2165. does not affect access to children below the ignored element
  2166. indexing elements
  2167. single-key index
  2168. creates an index at the root level
  2169. composite-key index
  2170. creates an index at the root level
  2171. key-path index
  2172. creates an index at the root level
  2173. nested indexes
  2174. adds an index even if no elements are present for the index
  2175. base64 encoded strings
  2176. returns base64 encoded elements decoded
  2177. returns nested base64 encoded elements decoded
  2178. maps
  2179. converts maps into hashes
  2180. accepts non standard key/value labels
  2181. map entries
  2182. can collect map entrys without a wrapping element
  2183. can collect map entries with ireggular keys
  2184. nested maps
  2185. translates maps of maps
  2186. default values
  2187. inserts values where specified
  2188. customized by hash
  2189. should accept the legacy format for cusomizations via a hash
  2190. simulating parsing
  2191. should add a method for basic elements and respond with nil
  2192. should add a method for integer elements and respond with 0
  2193. should add a method for float elements and respond with 0.0
  2194. should add a method for boolean elements and respond with false
  2195. should deal with renamed boolean elements
  2196. should add a method for symbol elements and respond with nil
  2197. should skip ignored elements
  2198. should pull forward elements through ignored elements
  2199. should provide a helpful inspect string
  2200. should group elements
  2201. should not add empty ignored elements
  2202. should add wrapper elements
  2203. should respond with [] for list basic list elements
  2204. should respond with [] for list nested list elements
  2205. should respond with {} for an index
  2206. should correctly reutrn an empty hash with no rules
  2207. AWS::DynamoDB::AttributeCollection
  2208. it should behave like enumerable
  2209. should not read the client
  2210. #initialize
  2211. should store the item
  2212. #each
  2213. calls get_item
  2214. accepts a :consistent_read option
  2215. passes pairs to an arity-1 block
  2216. passes key and value to an arity-2 block
  2217. #each_key
  2218. calls get_item
  2219. accepts a :consistent_read option
  2220. yields each key
  2221. #each_value
  2222. calls get_item
  2223. accepts a :consistent_read option
  2224. yields each value
  2225. #[]
  2226. should call get_item with :attributes_to_get set to the requested attribute
  2227. should return the attribute value
  2228. should work with symbol attribute names
  2229. #[]=
  2230. should call update_item with a single PUT update
  2231. should work for symbol attribute names
  2232. should delete the attribute if it is set to nil
  2233. should return value that was set
  2234. should raise an error for an invalid value literal
  2235. #set
  2236. should delete attributes that are set to nil
  2237. it should behave like a DynamoDB attribute update method
  2238. it should behave like a DynamoDB attribute update
  2239. should call update_item with a PUT update per attribute
  2240. should work for symbol attribute names
  2241. should do nothing when no attributes are passed
  2242. should be nil by default
  2243. it should behave like a DynamoDB method accepting expectations
  2244. :if option
  2245. should support a hash of attributes and values
  2246. :unless_exists option
  2247. should support a list of attribute names
  2248. should support a single attribute name
  2249. it should behave like a DynamoDB method accepting :return
  2250. return value
  2251. when :return is set
  2252. should pass :return_values
  2253. should return the response attributes
  2254. #add
  2255. it should behave like a DynamoDB attribute update method
  2256. it should behave like a DynamoDB attribute update
  2257. should call update_item with a PUT update per attribute
  2258. should work for symbol attribute names
  2259. should do nothing when no attributes are passed
  2260. should be nil by default
  2261. it should behave like a DynamoDB method accepting expectations
  2262. :if option
  2263. should support a hash of attributes and values
  2264. :unless_exists option
  2265. should support a list of attribute names
  2266. should support a single attribute name
  2267. it should behave like a DynamoDB method accepting :return
  2268. return value
  2269. when :return is set
  2270. should pass :return_values
  2271. should return the response attributes
  2272. #delete
  2273. it should behave like a DynamoDB attribute deletion
  2274. it should behave like a DynamoDB attribute update
  2275. should call update_item with a PUT update per attribute
  2276. should work for symbol attribute names
  2277. should do nothing when no attributes are passed
  2278. should be nil by default
  2279. should convert single values to sets
  2280. deleting all values of each attribute
  2281. should call update_item with a PUT update per attribute
  2282. should work for symbol attribute names
  2283. should do nothing when no attributes are passed
  2284. it should behave like a DynamoDB method accepting :return
  2285. should be nil by default
  2286. return value
  2287. when :return is set
  2288. should pass :return_values
  2289. should return the response attributes
  2290. #update
  2291. should raise an error if you attempt to update an attribute in two ways
  2292. block with #set
  2293. should delete attributes that are set to nil
  2294. it should behave like a DynamoDB attribute update
  2295. should call update_item with a PUT update per attribute
  2296. should work for symbol attribute names
  2297. should do nothing when no attributes are passed
  2298. should be nil by default
  2299. block with #add
  2300. it should behave like a DynamoDB attribute update
  2301. should call update_item with a PUT update per attribute
  2302. should work for symbol attribute names
  2303. should do nothing when no attributes are passed
  2304. should be nil by default
  2305. block with #delete
  2306. it should behave like a DynamoDB attribute deletion
  2307. it should behave like a DynamoDB attribute update
  2308. should call update_item with a PUT update per attribute
  2309. should work for symbol attribute names
  2310. should do nothing when no attributes are passed
  2311. should be nil by default
  2312. should convert single values to sets
  2313. deleting all values of each attribute
  2314. should call update_item with a PUT update per attribute
  2315. should work for symbol attribute names
  2316. should do nothing when no attributes are passed
  2317. it should behave like a DynamoDB method accepting expectations
  2318. :if option
  2319. should support a hash of attributes and values
  2320. :unless_exists option
  2321. should support a list of attribute names
  2322. should support a single attribute name
  2323. it should behave like a DynamoDB method accepting :return
  2324. should be nil by default
  2325. return value
  2326. when :return is set
  2327. should pass :return_values
  2328. should return the response attributes
  2329. #values_at
  2330. calls get_item getting only the specified attributes
  2331. works with symbol attribute names
  2332. accepts a :consistent_read option
  2333. does nothing if no attribute names are passed
  2334. should return the values in an array
  2335. should return values in the right order
  2336. should return nil for values that do not exist
  2337. #to_h
  2338. calls get_item
  2339. accepts a :consistent_read option
  2340. hasherishes each of the values
  2341. missing item
  2342. returns an empty hash
  2343. AWS::DynamoDB::BatchGet
  2344. specifying attributes
  2345. #table
  2346. omits :attributes_to_get when attributes == :all
  2347. #items
  2348. omits :attributes_to_get when attributes == :all
  2349. #table
  2350. specifing the table
  2351. accepts a string table name
  2352. accepts a symbolized table name
  2353. accepts a Table object
  2354. can be called multiple times for the same table
  2355. raises an error if the attributes differ
  2356. specifing items
  2357. accepts an array of of hash key values
  2358. accpets an array of hash and range key value pairs
  2359. accepts an array of item objects
  2360. #items
  2361. accepts a list of items
  2362. accepts an array of items
  2363. accepts items from different tables
  2364. paged results
  2365. continues requesting until the response has no unproccessed keys
  2366. it formats the unproccessed keys into request items
  2367. AWS::DynamoDB::BatchWrite
  2368. #write
  2369. accpets :put
  2370. accpets :delete
  2371. accepts multiple puts and deletes
  2372. can build a batch over multiple calls
  2373. does nothing if no attributes added
  2374. unprocessed items
  2375. calls #batch_write_item again with converted unprocessed items
  2376. AWS::DynamoDB::Client
  2377. retry logic
  2378. server errors
  2379. retries 10 times by default
  2380. retries n times if specified in the config
  2381. throughput errors
  2382. retries 10 times by default
  2383. retries n times if specified in the config
  2384. does not retry when max_retries > 0 and retry throttle == false
  2385. expired credential errors
  2386. retries once after refeshing the signer
  2387. does not retry when configured to max_retries => 0
  2388. retries once when configured to max_retries > 0
  2389. #describe_table
  2390. it should behave like DynamoDB request
  2391. should specify the action using the x-amz-target header
  2392. should specify the correct content type
  2393. should not specify the content encoding
  2394. errors
  2395. should extract the error code and raise a modeled exception
  2396. it should behave like uses cached responses
  2397. when the cache is active
  2398. should not make a request if a matching response is in the cache
  2399. should make a request if no response is cached
  2400. should use a response class whose cache key includes the access key ID
  2401. should log the response including a [CACHED] tag
  2402. #list_tables
  2403. it should behave like DynamoDB request
  2404. should specify the action using the x-amz-target header
  2405. should specify the correct content type
  2406. should not specify the content encoding
  2407. errors
  2408. should extract the error code and raise a modeled exception
  2409. it should behave like uses cached responses
  2410. when the cache is active
  2411. should not make a request if a matching response is in the cache
  2412. should make a request if no response is cached
  2413. should use a response class whose cache key includes the access key ID
  2414. should log the response including a [CACHED] tag
  2415. #create_table
  2416. should send options as a correctly formulated JSON payload
  2417. it should behave like DynamoDB request
  2418. should specify the action using the x-amz-target header
  2419. should specify the correct content type
  2420. should not specify the content encoding
  2421. errors
  2422. should extract the error code and raise a modeled exception
  2423. AWS::DynamoDB::Errors
  2424. generated error classes
  2425. should include ClientError if the status code is less than 500
  2426. should include ServerError if the status code is gte 500
  2427. should include ServerError if the status code is greater than or equal to 500
  2428. AWS::DynamoDB::ItemCollection
  2429. #put
  2430. should call put_item
  2431. should work with symbol keys
  2432. should raise type errors with the correct context
  2433. should call assert_schema! on the table
  2434. it should behave like a DynamoDB method accepting expectations
  2435. :if option
  2436. should support a hash of attributes and values
  2437. :unless_exists option
  2438. should support a list of attribute names
  2439. should support a single attribute name
  2440. it should behave like a DynamoDB method accepting :return
  2441. return value
  2442. when :return is set
  2443. should pass :return_values
  2444. should return the response attributes
  2445. #[]
  2446. returns an item with the specified hash value
  2447. should assert the table schema
  2448. #at
  2449. returns an item with the specified hash value
  2450. should assert the table schema
  2451. when the table has a range key
  2452. requires a range value
  2453. accepts a range value
  2454. #where
  2455. with a hash
  2456. should add a scan filter with equality conditions
  2457. should be chainable
  2458. should add a NULL filter for nil values
  2459. should add a BETWEEN filter for range values
  2460. should raise an error if conflicting filters are added
  2461. with an attribute name
  2462. should return a filter builder
  2463. should set the attribute name
  2464. should work for symbols
  2465. should set the original collection
  2466. should be chainable
  2467. should raise an error if conflicting filters are added
  2468. binary operators
  2469. #equals
  2470. it should behave like DynamoDB scan filter operator
  2471. should produce the right scan filter
  2472. #not_equal_to
  2473. it should behave like DynamoDB scan filter operator
  2474. should produce the right scan filter
  2475. #less_than
  2476. it should behave like DynamoDB scan filter operator
  2477. should produce the right scan filter
  2478. #greater_than
  2479. it should behave like DynamoDB scan filter operator
  2480. should produce the right scan filter
  2481. #lte
  2482. it should behave like DynamoDB scan filter operator
  2483. should produce the right scan filter
  2484. #gte
  2485. it should behave like DynamoDB scan filter operator
  2486. should produce the right scan filter
  2487. #contains
  2488. it should behave like DynamoDB scan filter operator
  2489. should produce the right scan filter
  2490. #does_not_contain
  2491. it should behave like DynamoDB scan filter operator
  2492. should produce the right scan filter
  2493. #begins_with
  2494. it should behave like DynamoDB scan filter operator
  2495. should produce the right scan filter
  2496. unary operators
  2497. #not_null
  2498. it should behave like DynamoDB scan filter operator
  2499. should produce the right scan filter
  2500. #is_null
  2501. it should behave like DynamoDB scan filter operator
  2502. should produce the right scan filter
  2503. #in
  2504. it should behave like DynamoDB scan filter operator
  2505. should produce the right scan filter
  2506. #between
  2507. it should behave like DynamoDB scan filter operator
  2508. should produce the right scan filter
  2509. #each
  2510. should pass the scan filters with each request
  2511. should accept :where with a hash
  2512. #select
  2513. should return an enumerator with :item_data set
  2514. should pass :attributes_to_get with the attribute names
  2515. should work for symbol attribute names
  2516. should pass additional options to #enumerator
  2517. block form
  2518. should call #each with :item_data
  2519. #count
  2520. should sum the enumerator with :count set to true
  2521. should pass :max_requests as :limit
  2522. should accept :limit as an upper bound for the count
  2523. should return the count if it is lower than :limit
  2524. should set :batch_size to :limit by default
  2525. should accept both :batch_size and :limit at the same time
  2526. should pass additional options to the enumerator
  2527. #query
  2528. should return an enumerator with :query set
  2529. should raise an error if multiple range conditions are specified
  2530. should pass additional options to #enumerator
  2531. :hash_value option
  2532. should pass the value as :hash_key_value
  2533. should raise an error if the hash value is not provided
  2534. :range_value option
  2535. should use EQ for string values
  2536. should use EQ for numeric values
  2537. should use BETWEEN for range values
  2538. it should behave like DynamoDB range key operator
  2539. :range_less_than option
  2540. should use the LT operator
  2541. it should behave like DynamoDB range key operator
  2542. :range_greater_than option
  2543. should use the GT operator
  2544. it should behave like DynamoDB range key operator
  2545. :range_lte option
  2546. should use the LE operator
  2547. it should behave like DynamoDB range key operator
  2548. :range_gte option
  2549. should use the GE operator
  2550. it should behave like DynamoDB range key operator
  2551. :range_begins_with option
  2552. should use the BEGINS_WITH operator
  2553. :select option
  2554. should set :item_data to true
  2555. should not pass :select through
  2556. should accept a list of attribute names to get
  2557. should work for symbol attribute names
  2558. should not pass :attributes_to_get for the special value :all
  2559. block form
  2560. should call #each with :query
  2561. it should behave like a pageable collection with limits
  2562. asks for both parts of a composite key
  2563. behaves like a collection with #enum
  2564. should be enumerable
  2565. responds to enumerator
  2566. returns an enumerator
  2567. returns an enumerator for the each method
  2568. passes arguments to the each method
  2569. #each
  2570. with :limit
  2571. passes :limit as limit_key
  2572. makes requests until the total number of items received == limit
  2573. stops short of the limit if a truncated response is returned
  2574. with :batch_size param
  2575. convert batch size into a limit
  2576. requests :batch_size num elements until response is truncated
  2577. with :limit and :batch_size
  2578. makes requests while response is truncated
  2579. behaves like a collection that yields models
  2580. should construct items with populated hash values
  2581. #each
  2582. yields the correct number of members
  2583. yields instances of the member class
  2584. yields objects with the correct config
  2585. tables with range keys
  2586. should construct items with populated range values
  2587. :query set to true
  2588. should make a query request
  2589. :count set to true
  2590. should pass :count to the client
  2591. should not pass :attributes_to_get to the client
  2592. should yield the count for each page of results
  2593. :item_data set to true
  2594. should not pass :item_data to the client
  2595. should not pass :attributes_to_get by default
  2596. should pass :attributes_to_get as provided in the options
  2597. yields ItemData
  2598. populates the attributes
  2599. request asks for only non-primary key attributes
  2600. does not populate the items
  2601. request asks only for the hash key
  2602. populates the items
  2603. when the table has a composite key
  2604. does not populate the items
  2605. request asks for the hash key and range key
  2606. populates the items with the correct hash values
  2607. populates the items with the correct range values
  2608. request asks for all attributes
  2609. populates the items with correct hash key values
  2610. populates the items with correct config
  2611. populates the items with a nil range key
  2612. table has a range key
  2613. populates the items with correct range key values
  2614. AWS::DynamoDB::ItemData
  2615. #initialize
  2616. should store the item
  2617. should store the attributes
  2618. AWS::DynamoDB::Item
  2619. it should behave like a resource object
  2620. #inspect
  2621. should include the ID
  2622. it should behave like resource equality method
  2623. #==
  2624. same class
  2625. should return true if everything matches
  2626. should return false if any identifying information does not match
  2627. different class
  2628. should return false
  2629. it should behave like resource equality method
  2630. #eql?
  2631. same class
  2632. should return true if everything matches
  2633. should return false if any identifying information does not match
  2634. different class
  2635. should return false
  2636. #initialize
  2637. should store the table
  2638. should store the hash value
  2639. should store the range value
  2640. #delete
  2641. should call assert_schema! on the table
  2642. should call delete_item
  2643. should pass the range key if it is in the schema
  2644. should return nil
  2645. it should behave like a DynamoDB method accepting expectations
  2646. :if option
  2647. should support a hash of attributes and values
  2648. :unless_exists option
  2649. should support a list of attribute names
  2650. should support a single attribute name
  2651. it should behave like a DynamoDB method accepting :return
  2652. return value
  2653. when :return is set
  2654. should pass :return_values
  2655. should return the response attributes
  2656. #attributes
  2657. should return an attribute collection
  2658. #exists?
  2659. should call get_item requesting only the hash key
  2660. should return true if the response includes an "Item" key
  2661. should return false if the response does not include an "Item" key
  2662. accepts a :consistent_read option
  2663. .new_from
  2664. put_item
  2665. should assert the table schema
  2666. should extract the hash value according to the schema
  2667. should extract the range value according to the schema
  2668. should raise an error if the hash key is missing
  2669. should raise an error if the range key is missing
  2670. no range key
  2671. should not extract the range value
  2672. should not raise an error if the range key is missing
  2673. AWS::DynamoDB::Request
  2674. it should behave like an authorize v4 request
  2675. #add_authorization!
  2676. sets the content type form-urlencoded by default
  2677. populates the host header
  2678. populates the date header
  2679. omits the security token header when session token not provided
  2680. populates the security token header when session token is provided
  2681. popualtes the authorization header (FAILED - 5)
  2682. includes the session token in the signature when present (FAILED - 6)
  2683. #service
  2684. should be dynamodb
  2685. AWS::DynamoDB::TableCollection
  2686. #create
  2687. calls #create_table on the client
  2688. accpets a :hash_key option
  2689. primary key elements can be numbers
  2690. accpets a :range_key option
  2691. #[]
  2692. should return a table with the correct name
  2693. behaves like a pageable collection with limits
  2694. behaves like a collection with #enum
  2695. should be enumerable
  2696. responds to enumerator
  2697. returns an enumerator
  2698. returns an enumerator for the each method
  2699. passes arguments to the each method
  2700. #each
  2701. with :limit
  2702. passes :limit as limit_key
  2703. makes requests until the total number of items received == limit
  2704. stops short of the limit if a truncated response is returned
  2705. with :batch_size param
  2706. convert batch size into a limit
  2707. requests :batch_size num elements until response is truncated
  2708. with :limit and :batch_size
  2709. makes requests while response is truncated
  2710. it should behave like a collection that yields models
  2711. #each
  2712. yields the correct number of members
  2713. yields instances of the member class
  2714. yields objects with the correct config
  2715. AWS::DynamoDB::Table
  2716. it should behave like a resource object
  2717. #inspect
  2718. should include the ID
  2719. it should behave like resource equality method
  2720. #==
  2721. same class
  2722. should return true if everything matches
  2723. should return false if any identifying information does not match
  2724. different class
  2725. should return false
  2726. it should behave like resource equality method
  2727. #eql?
  2728. same class
  2729. should return true if everything matches
  2730. should return false if any identifying information does not match
  2731. different class
  2732. should return false
  2733. #initialize
  2734. should store the name
  2735. description
  2736. should be able to describe a table witout a key schema
  2737. #exists?
  2738. should call describe_table
  2739. should return true if a matching table is found
  2740. should return false if no tables are found
  2741. #simple_key?
  2742. should return true if range_key is nil
  2743. should return false if range_key is not nil
  2744. #composite_key?
  2745. should return false if range_key is nil
  2746. should return true if range_key is not nil
  2747. from describe_table
  2748. it should behave like provides DynamoDB table attributes
  2749. should provide the creation_date_time attribute
  2750. should provide the status attribute
  2751. should not provide anything if the table name does not match
  2752. hash key attribute
  2753. it should behave like DynamoDB primary key element
  2754. should include the attribute name
  2755. should return the attribute type "N" as :number
  2756. should return the attribute type "S" as :string
  2757. range key attribute
  2758. it should behave like DynamoDB primary key element
  2759. should include the attribute name
  2760. should return the attribute type "N" as :number
  2761. should return the attribute type "S" as :string
  2762. from create_table
  2763. it should behave like provides DynamoDB table attributes
  2764. should provide the creation_date_time attribute
  2765. should provide the status attribute
  2766. should not provide anything if the table name does not match
  2767. hash key attribute
  2768. it should behave like DynamoDB primary key element
  2769. should include the attribute name
  2770. should return the attribute type "N" as :number
  2771. should return the attribute type "S" as :string
  2772. range key attribute
  2773. it should behave like DynamoDB primary key element
  2774. should include the attribute name
  2775. should return the attribute type "N" as :number
  2776. should return the attribute type "S" as :string
  2777. from delete_table
  2778. it should behave like provides DynamoDB table attributes
  2779. should provide the creation_date_time attribute
  2780. should provide the status attribute
  2781. should not provide anything if the table name does not match
  2782. hash key attribute
  2783. it should behave like DynamoDB primary key element
  2784. should include the attribute name
  2785. should return the attribute type "N" as :number
  2786. should return the attribute type "S" as :string
  2787. range key attribute
  2788. it should behave like DynamoDB primary key element
  2789. should include the attribute name
  2790. should return the attribute type "N" as :number
  2791. should return the attribute type "S" as :string
  2792. #status
  2793. it should behave like DynamoDB table attribute accessor
  2794. should call describe_table
  2795. should return the value from retrieve_attribute
  2796. #creation_date_time
  2797. it should behave like DynamoDB table attribute accessor
  2798. should call describe_table
  2799. should return the value from retrieve_attribute
  2800. #hash_key
  2801. it should behave like DynamoDB table attribute accessor
  2802. should call describe_table
  2803. should return the value from retrieve_attribute
  2804. #range_key
  2805. should not load the schema if the schema is loaded
  2806. it should behave like DynamoDB table attribute accessor
  2807. should call describe_table
  2808. should return the value from retrieve_attribute
  2809. #schema_loaded?
  2810. should return false by default
  2811. should return true when the schema is populated from a response object
  2812. #assert_schema!
  2813. should raise an error if the schema is not loaded
  2814. should not raise an error if the schema is loaded
  2815. #load_schema
  2816. should call hash_key
  2817. should return self
  2818. #hash_key=
  2819. should cause schema_loaded? to return true
  2820. it should behave like key element setter
  2821. should accept name and type as a hash
  2822. should set the key element
  2823. should accept symbol attribute names
  2824. should accept the name and type as an array
  2825. should reject multiple hash entries
  2826. should reject unrecognized type names
  2827. #range_key=
  2828. with hash key set
  2829. it should behave like key element setter
  2830. should accept name and type as a hash
  2831. should set the key element
  2832. should accept symbol attribute names
  2833. should accept the name and type as an array
  2834. should reject multiple hash entries
  2835. should reject unrecognized type names
  2836. without a configured hash key
  2837. should raise an error
  2838. #batch_get
  2839. creates a new BatchGet and calls #table on it
  2840. #delete
  2841. should call delete_table
  2842. should return nil
  2843. #items
  2844. should return an item collection
  2845. batch write methods
  2846. #batch_put
  2847. accept an array of item attributes to batch put
  2848. #batch_delete
  2849. accept an array of item ids to delete
  2850. accepts nested arrays for hash and range keys
  2851. #batch_write
  2852. accepts :put and :delete options
  2853. AWS::DynamoDB::Types
  2854. #value_from_response
  2855. should extract string values
  2856. should work with :s
  2857. should convert number values to BigDecimal
  2858. should work with numeric literals
  2859. should work with :n
  2860. should extract string sets
  2861. should work with :ss
  2862. should convert number sets to BigDecimal arrays
  2863. should work with numeric literals in number sets
  2864. should work with :ns
  2865. #values_from_response_hash
  2866. should translate each value in the hash
  2867. #format_attribute_value
  2868. should use :s for strings
  2869. should use :n for numbers
  2870. should use :n for floats
  2871. should use :n for BigDecimal
  2872. should use :ss for arrays containing strings
  2873. should use :ns for arrays containing numbers
  2874. should use :ns for arrays containing floats
  2875. should use :ns for arrays containing BigDecimal
  2876. should raise an error on mixed types in an array input
  2877. should raise an error on nested arrays in input
  2878. should raise an error on unsupported types in array input
  2879. AWS::DynamoDB
  2880. behaves like a class that accepts configuration
  2881. accepts and returns a :config option
  2882. constructor passes options to Configuration#with
  2883. returns the merged config
  2884. #tables
  2885. should return a tables collection
  2886. #batch_write
  2887. calls #batch_write_item on the client
  2888. AWS::EC2::AttachmentCollection
  2889. it should behave like an ec2 model object
  2890. #initialize
  2891. should not read the client
  2892. #client
  2893. gets the client from the configuration
  2894. it should behave like enumerable
  2895. should not read the client
  2896. #initialize
  2897. should set the volume
  2898. #each
  2899. yields attachments
  2900. passes the config
  2901. should yield the right number of objects
  2902. should pass the instance ids
  2903. should pass the volume
  2904. should pass the devices
  2905. should pass the config to the instance
  2906. should pass the config to the attachment
  2907. AWS::EC2::Attachment
  2908. it should behave like an ec2 model object
  2909. #initialize
  2910. should not read the client
  2911. #client
  2912. gets the client from the configuration
  2913. #initialize
  2914. should set the volume
  2915. should set the instance
  2916. should set the device
  2917. #delete
  2918. should call detach_volume
  2919. should pass additional options
  2920. #status
  2921. it should behave like ec2 attachment attribute
  2922. should call describe_volumes
  2923. when not returned by the service
  2924. should be nil
  2925. when returned by the service
  2926. should return the correct value
  2927. populated from attach_volume
  2928. it should behave like ec2 attachment attribute (attachment action)
  2929. should return nil if the volume ID does not match
  2930. should return nil if the instance ID does not match
  2931. should return nil if the device does not match
  2932. not included in the response
  2933. should return nil
  2934. included in the response
  2935. should return the correct value
  2936. populated from detach_volume
  2937. it should behave like ec2 attachment attribute (attachment action)
  2938. should return nil if the volume ID does not match
  2939. should return nil if the instance ID does not match
  2940. should return nil if the device does not match
  2941. not included in the response
  2942. should return nil
  2943. included in the response
  2944. should return the correct value
  2945. #attach_time
  2946. it should behave like ec2 attachment attribute
  2947. should call describe_volumes
  2948. when not returned by the service
  2949. should be nil
  2950. when returned by the service
  2951. should return the correct value
  2952. populated from attach_volume
  2953. it should behave like ec2 attachment attribute (attachment action)
  2954. should return nil if the volume ID does not match
  2955. should return nil if the instance ID does not match
  2956. should return nil if the device does not match
  2957. not included in the response
  2958. should return nil
  2959. included in the response
  2960. should return the correct value
  2961. populated from detach_volume
  2962. it should behave like ec2 attachment attribute (attachment action)
  2963. should return nil if the volume ID does not match
  2964. should return nil if the instance ID does not match
  2965. should return nil if the device does not match
  2966. not included in the response
  2967. should return nil
  2968. included in the response
  2969. should return the correct value
  2970. #delete_on_termination?
  2971. it should behave like ec2 attachment attribute
  2972. should call describe_volumes
  2973. when not returned by the service
  2974. should be nil
  2975. when returned by the service
  2976. should return the correct value
  2977. populated from attach_volume
  2978. it should behave like ec2 attachment attribute (attachment action)
  2979. should return nil if the volume ID does not match
  2980. should return nil if the instance ID does not match
  2981. should return nil if the device does not match
  2982. not included in the response
  2983. should return nil
  2984. included in the response
  2985. should return the correct value
  2986. populated from detach_volume
  2987. it should behave like ec2 attachment attribute (attachment action)
  2988. should return nil if the volume ID does not match
  2989. should return nil if the instance ID does not match
  2990. should return nil if the device does not match
  2991. not included in the response
  2992. should return nil
  2993. included in the response
  2994. should return the correct value
  2995. #exists?
  2996. when the attachment exists
  2997. should return true
  2998. when the volume exists but the attachment does not
  2999. should return false
  3000. when the volume does not exist
  3001. should return false
  3002. #==
  3003. same class
  3004. should return true if everything matches
  3005. should return false if the volume does not match
  3006. should return false if the instance does not match
  3007. should return false if the device does not match
  3008. different class
  3009. should return false
  3010. AWS::EC2::AvailabilityZoneCollection
  3011. it should behave like an ec2 model object
  3012. #initialize
  3013. should not read the client
  3014. #client
  3015. gets the client from the configuration
  3016. it should behave like ec2 collection object
  3017. it should behave like enumerable
  3018. should not read the client
  3019. #filter
  3020. returns a new collection
  3021. #each
  3022. calls the describe method
  3023. yields an instance of the member class
  3024. passes the config
  3025. should yield the right number of objects
  3026. filtered
  3027. it should behave like a filtered ec2 collection
  3028. #filter
  3029. returns a new collection
  3030. filtered enumeration
  3031. accepts multiple values for a single filter name
  3032. should be chainable
  3033. allows addding a filter name more than once
  3034. it should behave like ec2 collection array access
  3035. #[]
  3036. returns an object of the member class
  3037. returns an object with the correct config
  3038. AWS::EC2::AvailabilityZone
  3039. it should behave like an ec2 resource object
  3040. it should behave like an ec2 model object
  3041. #initialize
  3042. should not read the client
  3043. #client
  3044. gets the client from the configuration
  3045. #inspect
  3046. should include the ID
  3047. it should behave like ec2 resource equality method
  3048. #==
  3049. same class
  3050. should return true if the IDs match
  3051. should return false if the IDs do not match
  3052. different class
  3053. should return false
  3054. it should behave like ec2 resource equality method
  3055. #eql?
  3056. same class
  3057. should return true if the IDs match
  3058. should return false if the IDs do not match
  3059. different class
  3060. should return false
  3061. #initialize
  3062. should set name
  3063. should set region
  3064. should set by name
  3065. #to_s
  3066. should return the zone name
  3067. #region
  3068. it should behave like availability zone attribute
  3069. should call describe_availability_zones
  3070. should pass the name
  3071. should return a region object
  3072. should pass the config
  3073. should memoize the result
  3074. #state
  3075. it should behave like availability zone attribute
  3076. should call describe_availability_zones
  3077. should symbol-ize the result
  3078. #messages
  3079. it should behave like availability zone attribute
  3080. should call describe_availability_zones
  3081. should return a list of strings
  3082. #<AWS::Core::XML::Grammar:0x71d39e5dbf90>
  3083. should expose the code
  3084. should expose the message
  3085. AWS::EC2::Client
  3086. RunInstances
  3087. should have a group_set array
  3088. should have an instances_set array
  3089. DetachVolume
  3090. it should behave like attachment operation
  3091. should have an attach_time timestamp
  3092. should have a delete_on_termination? method
  3093. AttachVolume
  3094. it should behave like attachment operation
  3095. should have an attach_time timestamp
  3096. should have a delete_on_termination? method
  3097. CreateSnapshot
  3098. should have a start_time timestamp
  3099. should have a volume_size number
  3100. should have a tag_set list
  3101. CreateVolume
  3102. should have a size number
  3103. should have a create_time timestamp
  3104. should have a attachment_set list
  3105. should have a tag_set list
  3106. DescribeImageAttribute
  3107. should have a launch_permission list
  3108. should have a product_codes list
  3109. should have a block_device_mapping list
  3110. DescribeInstanceAttribute
  3111. should have a disable_api_termination.value boolean
  3112. should have a block_device_mapping list
  3113. DescribeInstances
  3114. should have an instance_index
  3115. should have a reservation_index
  3116. DescribeImages
  3117. should have an image_index
  3118. DescribeSecurityGroups
  3119. should have a security_group_index
  3120. DescribeVolumes
  3121. should have a volume_index
  3122. DescribeSnapshots
  3123. should have a snapshot_index
  3124. DescribeAddresses
  3125. should have an address_index
  3126. DescribeKeyPairs
  3127. should have a key_index
  3128. DescribeTags
  3129. should have a tag_index
  3130. AWS::EC2::Client
  3131. #describe_instance_attribute
  3132. should pass instance_id as InstanceId
  3133. should pass attribute as Attribute
  3134. #describe_instances
  3135. it should behave like uses cached responses
  3136. when the cache is active
  3137. should not make a request if a matching response is in the cache
  3138. should make a request if no response is cached
  3139. should use a response class whose cache key includes the access key ID
  3140. should log the response including a [CACHED] tag
  3141. it should behave like an aws http request
  3142. with the proper http verb
  3143. should set use_ssl to the current config use_ssl? value
  3144. should set ssl_verify_peer to the current config ssl_verify_peer? value
  3145. should set ssl_ca_file to the current config ssl_ca_file value
  3146. populates the response with the request options
  3147. raises client errors for errors that can not be retried
  3148. raises client errors for 4xx response codes with a nil response body
  3149. does not retry client errors
  3150. retry requests that respond with 500
  3151. retry requests that respond with 503
  3152. retry throttled requests that respond with 400
  3153. retry timeout errors
  3154. should retry at most 3 times
  3155. should build a new request for each retry
  3156. should retry more times if configured
  3157. should re-raise the server error after retries fail
  3158. should re-raise the timeout error after retries fail
  3159. should sleep between retries
  3160. it backs off exponentially
  3161. it uses a randomized scaling factor for throttled requests
  3162. it should behave like supports async option
  3163. asynchronous
  3164. should call handle_async on the handler
  3165. should return a kind of async handle
  3166. should call the success callback on handler success
  3167. should call the failure callback on handler failure
  3168. should make an error available on handler failure
  3169. should call the failure callback on service failure
  3170. should retry service errors
  3171. should retry timeouts
  3172. should build a new request for each retry
  3173. user_agent
  3174. should set the user_agent header
  3175. should prefix the user agent when configured
  3176. memoization status
  3177. should not include "memoizing" if memoization is disabled
  3178. should include "memoizing" if memoization is enabled
  3179. endpoint
  3180. should default the endpoint given in the client config
  3181. user agent
  3182. should send a user-agent header
  3183. stubbing
  3184. should not call handle
  3185. logging
  3186. should log the client request
  3187. should log server errors
  3188. signing
  3189. should call add_authorization! on the request
  3190. should call add_authorization! with the credential provider
  3191. caching enabled
  3192. should add the low-level response object to the cache
  3193. should not cache on failure
  3194. asynchronous
  3195. should add the response on success
  3196. should not cache on failure
  3197. #describe_instance_attribute
  3198. it should behave like uses cached responses
  3199. when the cache is active
  3200. should not make a request if a matching response is in the cache
  3201. should make a request if no response is cached
  3202. should use a response class whose cache key includes the access key ID
  3203. should log the response including a [CACHED] tag
  3204. it should behave like an aws http request
  3205. with the proper http verb
  3206. should set use_ssl to the current config use_ssl? value
  3207. should set ssl_verify_peer to the current config ssl_verify_peer? value
  3208. should set ssl_ca_file to the current config ssl_ca_file value
  3209. populates the response with the request options
  3210. raises client errors for errors that can not be retried
  3211. raises client errors for 4xx response codes with a nil response body
  3212. does not retry client errors
  3213. retry requests that respond with 500
  3214. retry requests that respond with 503
  3215. retry throttled requests that respond with 400
  3216. retry timeout errors
  3217. should retry at most 3 times
  3218. should build a new request for each retry
  3219. should retry more times if configured
  3220. should re-raise the server error after retries fail
  3221. should re-raise the timeout error after retries fail
  3222. should sleep between retries
  3223. it backs off exponentially
  3224. it uses a randomized scaling factor for throttled requests
  3225. it should behave like supports async option
  3226. asynchronous
  3227. should call handle_async on the handler
  3228. should return a kind of async handle
  3229. should call the success callback on handler success
  3230. should call the failure callback on handler failure
  3231. should make an error available on handler failure
  3232. should call the failure callback on service failure
  3233. should retry service errors
  3234. should retry timeouts
  3235. should build a new request for each retry
  3236. user_agent
  3237. should set the user_agent header
  3238. should prefix the user agent when configured
  3239. memoization status
  3240. should not include "memoizing" if memoization is disabled
  3241. should include "memoizing" if memoization is enabled
  3242. endpoint
  3243. should default the endpoint given in the client config
  3244. user agent
  3245. should send a user-agent header
  3246. stubbing
  3247. should not call handle
  3248. logging
  3249. should log the client request
  3250. should log server errors
  3251. signing
  3252. should call add_authorization! on the request
  3253. should call add_authorization! with the credential provider
  3254. caching enabled
  3255. should add the low-level response object to the cache
  3256. should not cache on failure
  3257. asynchronous
  3258. should add the response on success
  3259. should not cache on failure
  3260. #describe_images
  3261. it should behave like uses cached responses
  3262. when the cache is active
  3263. should not make a request if a matching response is in the cache
  3264. should make a request if no response is cached
  3265. should use a response class whose cache key includes the access key ID
  3266. should log the response including a [CACHED] tag
  3267. it should behave like an aws http request
  3268. with the proper http verb
  3269. should set use_ssl to the current config use_ssl? value
  3270. should set ssl_verify_peer to the current config ssl_verify_peer? value
  3271. should set ssl_ca_file to the current config ssl_ca_file value
  3272. populates the response with the request options
  3273. raises client errors for errors that can not be retried
  3274. raises client errors for 4xx response codes with a nil response body
  3275. does not retry client errors
  3276. retry requests that respond with 500
  3277. retry requests that respond with 503
  3278. retry throttled requests that respond with 400
  3279. retry timeout errors
  3280. should retry at most 3 times
  3281. should build a new request for each retry
  3282. should retry more times if configured
  3283. should re-raise the server error after retries fail
  3284. should re-raise the timeout error after retries fail
  3285. should sleep between retries
  3286. it backs off exponentially
  3287. it uses a randomized scaling factor for throttled requests
  3288. it should behave like supports async option
  3289. asynchronous
  3290. should call handle_async on the handler
  3291. should return a kind of async handle
  3292. should call the success callback on handler success
  3293. should call the failure callback on handler failure
  3294. should make an error available on handler failure
  3295. should call the failure callback on service failure
  3296. should retry service errors
  3297. should retry timeouts
  3298. should build a new request for each retry
  3299. user_agent
  3300. should set the user_agent header
  3301. should prefix the user agent when configured
  3302. memoization status
  3303. should not include "memoizing" if memoization is disabled
  3304. should include "memoizing" if memoization is enabled
  3305. endpoint
  3306. should default the endpoint given in the client config
  3307. user agent
  3308. should send a user-agent header
  3309. stubbing
  3310. should not call handle
  3311. logging
  3312. should log the client request
  3313. should log server errors
  3314. signing
  3315. should call add_authorization! on the request
  3316. should call add_authorization! with the credential provider
  3317. caching enabled
  3318. should add the low-level response object to the cache
  3319. should not cache on failure
  3320. asynchronous
  3321. should add the response on success
  3322. should not cache on failure
  3323. #describe_image_attribute
  3324. it should behave like uses cached responses
  3325. when the cache is active
  3326. should not make a request if a matching response is in the cache
  3327. should make a request if no response is cached
  3328. should use a response class whose cache key includes the access key ID
  3329. should log the response including a [CACHED] tag
  3330. it should behave like an aws http request
  3331. with the proper http verb
  3332. should set use_ssl to the current config use_ssl? value
  3333. should set ssl_verify_peer to the current config ssl_verify_peer? value
  3334. should set ssl_ca_file to the current config ssl_ca_file value
  3335. populates the response with the request options
  3336. raises client errors for errors that can not be retried
  3337. raises client errors for 4xx response codes with a nil response body
  3338. does not retry client errors
  3339. retry requests that respond with 500
  3340. retry requests that respond with 503
  3341. retry throttled requests that respond with 400
  3342. retry timeout errors
  3343. should retry at most 3 times
  3344. should build a new request for each retry
  3345. should retry more times if configured
  3346. should re-raise the server error after retries fail
  3347. should re-raise the timeout error after retries fail
  3348. should sleep between retries
  3349. it backs off exponentially
  3350. it uses a randomized scaling factor for throttled requests
  3351. it should behave like supports async option
  3352. asynchronous
  3353. should call handle_async on the handler
  3354. should return a kind of async handle
  3355. should call the success callback on handler success
  3356. should call the failure callback on handler failure
  3357. should make an error available on handler failure
  3358. should call the failure callback on service failure
  3359. should retry service errors
  3360. should retry timeouts
  3361. should build a new request for each retry
  3362. user_agent
  3363. should set the user_agent header
  3364. should prefix the user agent when configured
  3365. memoization status
  3366. should not include "memoizing" if memoization is disabled
  3367. should include "memoizing" if memoization is enabled
  3368. endpoint
  3369. should default the endpoint given in the client config
  3370. user agent
  3371. should send a user-agent header
  3372. stubbing
  3373. should not call handle
  3374. logging
  3375. should log the client request
  3376. should log server errors
  3377. signing
  3378. should call add_authorization! on the request
  3379. should call add_authorization! with the credential provider
  3380. caching enabled
  3381. should add the low-level response object to the cache
  3382. should not cache on failure
  3383. asynchronous
  3384. should add the response on success
  3385. should not cache on failure
  3386. #describe_volumes
  3387. it should behave like uses cached responses
  3388. when the cache is active
  3389. should not make a request if a matching response is in the cache
  3390. should make a request if no response is cached
  3391. should use a response class whose cache key includes the access key ID
  3392. should log the response including a [CACHED] tag
  3393. it should behave like an aws http request
  3394. with the proper http verb
  3395. should set use_ssl to the current config use_ssl? value
  3396. should set ssl_verify_peer to the current config ssl_verify_peer? value
  3397. should set ssl_ca_file to the current config ssl_ca_file value
  3398. populates the response with the request options
  3399. raises client errors for errors that can not be retried
  3400. raises client errors for 4xx response codes with a nil response body
  3401. does not retry client errors
  3402. retry requests that respond with 500
  3403. retry requests that respond with 503
  3404. retry throttled requests that respond with 400
  3405. retry timeout errors
  3406. should retry at most 3 times
  3407. should build a new request for each retry
  3408. should retry more times if configured
  3409. should re-raise the server error after retries fail
  3410. should re-raise the timeout error after retries fail
  3411. should sleep between retries
  3412. it backs off exponentially
  3413. it uses a randomized scaling factor for throttled requests
  3414. it should behave like supports async option
  3415. asynchronous
  3416. should call handle_async on the handler
  3417. should return a kind of async handle
  3418. should call the success callback on handler success
  3419. should call the failure callback on handler failure
  3420. should make an error available on handler failure
  3421. should call the failure callback on service failure
  3422. should retry service errors
  3423. should retry timeouts
  3424. should build a new request for each retry
  3425. user_agent
  3426. should set the user_agent header
  3427. should prefix the user agent when configured
  3428. memoization status
  3429. should not include "memoizing" if memoization is disabled
  3430. should include "memoizing" if memoization is enabled
  3431. endpoint
  3432. should default the endpoint given in the client config
  3433. user agent
  3434. should send a user-agent header
  3435. stubbing
  3436. should not call handle
  3437. logging
  3438. should log the client request
  3439. should log server errors
  3440. signing
  3441. should call add_authorization! on the request
  3442. should call add_authorization! with the credential provider
  3443. caching enabled
  3444. should add the low-level response object to the cache
  3445. should not cache on failure
  3446. asynchronous
  3447. should add the response on success
  3448. should not cache on failure
  3449. #describe_security_groups
  3450. it should behave like uses cached responses
  3451. when the cache is active
  3452. should not make a request if a matching response is in the cache
  3453. should make a request if no response is cached
  3454. should use a response class whose cache key includes the access key ID
  3455. should log the response including a [CACHED] tag
  3456. it should behave like an aws http request
  3457. with the proper http verb
  3458. should set use_ssl to the current config use_ssl? value
  3459. should set ssl_verify_peer to the current config ssl_verify_peer? value
  3460. should set ssl_ca_file to the current config ssl_ca_file value
  3461. populates the response with the request options
  3462. raises client errors for errors that can not be retried
  3463. raises client errors for 4xx response codes with a nil response body
  3464. does not retry client errors
  3465. retry requests that respond with 500
  3466. retry requests that respond with 503
  3467. retry throttled requests that respond with 400
  3468. retry timeout errors
  3469. should retry at most 3 times
  3470. should build a new request for each retry
  3471. should retry more times if configured
  3472. should re-raise the server error after retries fail
  3473. should re-raise the timeout error after retries fail
  3474. should sleep between retries
  3475. it backs off exponentially
  3476. it uses a randomized scaling factor for throttled requests
  3477. it should behave like supports async option
  3478. asynchronous
  3479. should call handle_async on the handler
  3480. should return a kind of async handle
  3481. should call the success callback on handler success
  3482. should call the failure callback on handler failure
  3483. should make an error available on handler failure
  3484. should call the failure callback on service failure
  3485. should retry service errors
  3486. should retry timeouts
  3487. should build a new request for each retry
  3488. user_agent
  3489. should set the user_agent header
  3490. should prefix the user agent when configured
  3491. memoization status
  3492. should not include "memoizing" if memoization is disabled
  3493. should include "memoizing" if memoization is enabled
  3494. endpoint
  3495. should default the endpoint given in the client config
  3496. user agent
  3497. should send a user-agent header
  3498. stubbing
  3499. should not call handle
  3500. logging
  3501. should log the client request
  3502. should log server errors
  3503. signing
  3504. should call add_authorization! on the request
  3505. should call add_authorization! with the credential provider
  3506. caching enabled
  3507. should add the low-level response object to the cache
  3508. should not cache on failure
  3509. asynchronous
  3510. should add the response on success
  3511. should not cache on failure
  3512. #describe_addresses
  3513. it should behave like uses cached responses
  3514. when the cache is active
  3515. should not make a request if a matching response is in the cache
  3516. should make a request if no response is cached
  3517. should use a response class whose cache key includes the access key ID
  3518. should log the response including a [CACHED] tag
  3519. it should behave like an aws http request
  3520. with the proper http verb
  3521. should set use_ssl to the current config use_ssl? value
  3522. should set ssl_verify_peer to the current config ssl_verify_peer? value
  3523. should set ssl_ca_file to the current config ssl_ca_file value
  3524. populates the response with the request options
  3525. raises client errors for errors that can not be retried
  3526. raises client errors for 4xx response codes with a nil response body
  3527. does not retry client errors
  3528. retry requests that respond with 500
  3529. retry requests that respond with 503
  3530. retry throttled requests that respond with 400
  3531. retry timeout errors
  3532. should retry at most 3 times
  3533. should build a new request for each retry
  3534. should retry more times if configured
  3535. should re-raise the server error after retries fail
  3536. should re-raise the timeout error after retries fail
  3537. should sleep between retries
  3538. it backs off exponentially
  3539. it uses a randomized scaling factor for throttled requests
  3540. it should behave like supports async option
  3541. asynchronous
  3542. should call handle_async on the handler
  3543. should return a kind of async handle
  3544. should call the success callback on handler success
  3545. should call the failure callback on handler failure
  3546. should make an error available on handler failure
  3547. should call the failure callback on service failure
  3548. should retry service errors
  3549. should retry timeouts
  3550. should build a new request for each retry
  3551. user_agent
  3552. should set the user_agent header
  3553. should prefix the user agent when configured
  3554. memoization status
  3555. should not include "memoizing" if memoization is disabled
  3556. should include "memoizing" if memoization is enabled
  3557. endpoint
  3558. should default the endpoint given in the client config
  3559. user agent
  3560. should send a user-agent header
  3561. stubbing
  3562. should not call handle
  3563. logging
  3564. should log the client request
  3565. should log server errors
  3566. signing
  3567. should call add_authorization! on the request
  3568. should call add_authorization! with the credential provider
  3569. caching enabled
  3570. should add the low-level response object to the cache
  3571. should not cache on failure
  3572. asynchronous
  3573. should add the response on success
  3574. should not cache on failure
  3575. #describe_key_pairs
  3576. it should behave like uses cached responses
  3577. when the cache is active
  3578. should not make a request if a matching response is in the cache
  3579. should make a request if no response is cached
  3580. should use a response class whose cache key includes the access key ID
  3581. should log the response including a [CACHED] tag
  3582. it should behave like an aws http request
  3583. with the proper http verb
  3584. should set use_ssl to the current config use_ssl? value
  3585. should set ssl_verify_peer to the current config ssl_verify_peer? value
  3586. should set ssl_ca_file to the current config ssl_ca_file value
  3587. populates the response with the request options
  3588. raises client errors for errors that can not be retried
  3589. raises client errors for 4xx response codes with a nil response body
  3590. does not retry client errors
  3591. retry requests that respond with 500
  3592. retry requests that respond with 503
  3593. retry throttled requests that respond with 400
  3594. retry timeout errors
  3595. should retry at most 3 times
  3596. should build a new request for each retry
  3597. should retry more times if configured
  3598. should re-raise the server error after retries fail
  3599. should re-raise the timeout error after retries fail
  3600. should sleep between retries
  3601. it backs off exponentially
  3602. it uses a randomized scaling factor for throttled requests
  3603. it should behave like supports async option
  3604. asynchronous
  3605. should call handle_async on the handler
  3606. should return a kind of async handle
  3607. should call the success callback on handler success
  3608. should call the failure callback on handler failure
  3609. should make an error available on handler failure
  3610. should call the failure callback on service failure
  3611. should retry service errors
  3612. should retry timeouts
  3613. should build a new request for each retry
  3614. user_agent
  3615. should set the user_agent header
  3616. should prefix the user agent when configured
  3617. memoization status
  3618. should not include "memoizing" if memoization is disabled
  3619. should include "memoizing" if memoization is enabled
  3620. endpoint
  3621. should default the endpoint given in the client config
  3622. user agent
  3623. should send a user-agent header
  3624. stubbing
  3625. should not call handle
  3626. logging
  3627. should log the client request
  3628. should log server errors
  3629. signing
  3630. should call add_authorization! on the request
  3631. should call add_authorization! with the credential provider
  3632. caching enabled
  3633. should add the low-level response object to the cache
  3634. should not cache on failure
  3635. asynchronous
  3636. should add the response on success
  3637. should not cache on failure
  3638. #describe_regions
  3639. it should behave like uses cached responses
  3640. when the cache is active
  3641. should not make a request if a matching response is in the cache
  3642. should make a request if no response is cached
  3643. should use a response class whose cache key includes the access key ID
  3644. should log the response including a [CACHED] tag
  3645. it should behave like an aws http request
  3646. with the proper http verb
  3647. should set use_ssl to the current config use_ssl? value
  3648. should set ssl_verify_peer to the current config ssl_verify_peer? value
  3649. should set ssl_ca_file to the current config ssl_ca_file value
  3650. populates the response with the request options
  3651. raises client errors for errors that can not be retried
  3652. raises client errors for 4xx response codes with a nil response body
  3653. does not retry client errors
  3654. retry requests that respond with 500
  3655. retry requests that respond with 503
  3656. retry throttled requests that respond with 400
  3657. retry timeout errors
  3658. should retry at most 3 times
  3659. should build a new request for each retry
  3660. should retry more times if configured
  3661. should re-raise the server error after retries fail
  3662. should re-raise the timeout error after retries fail
  3663. should sleep between retries
  3664. it backs off exponentially
  3665. it uses a randomized scaling factor for throttled requests
  3666. it should behave like supports async option
  3667. asynchronous
  3668. should call handle_async on the handler
  3669. should return a kind of async handle
  3670. should call the success callback on handler success
  3671. should call the failure callback on handler failure
  3672. should make an error available on handler failure
  3673. should call the failure callback on service failure
  3674. should retry service errors
  3675. should retry timeouts
  3676. should build a new request for each retry
  3677. user_agent
  3678. should set the user_agent header
  3679. should prefix the user agent when configured
  3680. memoization status
  3681. should not include "memoizing" if memoization is disabled
  3682. should include "memoizing" if memoization is enabled
  3683. endpoint
  3684. should default the endpoint given in the client config
  3685. user agent
  3686. should send a user-agent header
  3687. stubbing
  3688. should not call handle
  3689. logging
  3690. should log the client request
  3691. should log server errors
  3692. signing
  3693. should call add_authorization! on the request
  3694. should call add_authorization! with the credential provider
  3695. caching enabled
  3696. should add the low-level response object to the cache
  3697. should not cache on failure
  3698. asynchronous
  3699. should add the response on success
  3700. should not cache on failure
  3701. #describe_availability_zones
  3702. it should behave like uses cached responses
  3703. when the cache is active
  3704. should not make a request if a matching response is in the cache
  3705. should make a request if no response is cached
  3706. should use a response class whose cache key includes the access key ID
  3707. should log the response including a [CACHED] tag
  3708. it should behave like an aws http request
  3709. with the proper http verb
  3710. should set use_ssl to the current config use_ssl? value
  3711. should set ssl_verify_peer to the current config ssl_verify_peer? value
  3712. should set ssl_ca_file to the current config ssl_ca_file value
  3713. populates the response with the request options
  3714. raises client errors for errors that can not be retried
  3715. raises client errors for 4xx response codes with a nil response body
  3716. does not retry client errors
  3717. retry requests that respond with 500
  3718. retry requests that respond with 503
  3719. retry throttled requests that respond with 400
  3720. retry timeout errors
  3721. should retry at most 3 times
  3722. should build a new request for each retry
  3723. should retry more times if configured
  3724. should re-raise the server error after retries fail
  3725. should re-raise the timeout error after retries fail
  3726. should sleep between retries
  3727. it backs off exponentially
  3728. it uses a randomized scaling factor for throttled requests
  3729. it should behave like supports async option
  3730. asynchronous
  3731. should call handle_async on the handler
  3732. should return a kind of async handle
  3733. should call the success callback on handler success
  3734. should call the failure callback on handler failure
  3735. should make an error available on handler failure
  3736. should call the failure callback on service failure
  3737. should retry service errors
  3738. should retry timeouts
  3739. should build a new request for each retry
  3740. user_agent
  3741. should set the user_agent header
  3742. should prefix the user agent when configured
  3743. memoization status
  3744. should not include "memoizing" if memoization is disabled
  3745. should include "memoizing" if memoization is enabled
  3746. endpoint
  3747. should default the endpoint given in the client config
  3748. user agent
  3749. should send a user-agent header
  3750. stubbing
  3751. should not call handle
  3752. logging
  3753. should log the client request
  3754. should log server errors
  3755. signing
  3756. should call add_authorization! on the request
  3757. should call add_authorization! with the credential provider
  3758. caching enabled
  3759. should add the low-level response object to the cache
  3760. should not cache on failure
  3761. asynchronous
  3762. should add the response on success
  3763. should not cache on failure
  3764. #describe_reserved_instances
  3765. it should behave like uses cached responses
  3766. when the cache is active
  3767. should not make a request if a matching response is in the cache
  3768. should make a request if no response is cached
  3769. should use a response class whose cache key includes the access key ID
  3770. should log the response including a [CACHED] tag
  3771. it should behave like an aws http request
  3772. with the proper http verb
  3773. should set use_ssl to the current config use_ssl? value
  3774. should set ssl_verify_peer to the current config ssl_verify_peer? value
  3775. should set ssl_ca_file to the current config ssl_ca_file value
  3776. populates the response with the request options
  3777. raises client errors for errors that can not be retried
  3778. raises client errors for 4xx response codes with a nil response body
  3779. does not retry client errors
  3780. retry requests that respond with 500
  3781. retry requests that respond with 503
  3782. retry throttled requests that respond with 400
  3783. retry timeout errors
  3784. should retry at most 3 times
  3785. should build a new request for each retry
  3786. should retry more times if configured
  3787. should re-raise the server error after retries fail
  3788. should re-raise the timeout error after retries fail
  3789. should sleep between retries
  3790. it backs off exponentially
  3791. it uses a randomized scaling factor for throttled requests
  3792. it should behave like supports async option
  3793. asynchronous
  3794. should call handle_async on the handler
  3795. should return a kind of async handle
  3796. should call the success callback on handler success
  3797. should call the failure callback on handler failure
  3798. should make an error available on handler failure
  3799. should call the failure callback on service failure
  3800. should retry service errors
  3801. should retry timeouts
  3802. should build a new request for each retry
  3803. user_agent
  3804. should set the user_agent header
  3805. should prefix the user agent when configured
  3806. memoization status
  3807. should not include "memoizing" if memoization is disabled
  3808. should include "memoizing" if memoization is enabled
  3809. endpoint
  3810. should default the endpoint given in the client config
  3811. user agent
  3812. should send a user-agent header
  3813. stubbing
  3814. should not call handle
  3815. logging
  3816. should log the client request
  3817. should log server errors
  3818. signing
  3819. should call add_authorization! on the request
  3820. should call add_authorization! with the credential provider
  3821. caching enabled
  3822. should add the low-level response object to the cache
  3823. should not cache on failure
  3824. asynchronous
  3825. should add the response on success
  3826. should not cache on failure
  3827. #describe_reserved_instances_offerings
  3828. it should behave like uses cached responses
  3829. when the cache is active
  3830. should not make a request if a matching response is in the cache
  3831. should make a request if no response is cached
  3832. should use a response class whose cache key includes the access key ID
  3833. should log the response including a [CACHED] tag
  3834. it should behave like an aws http request
  3835. with the proper http verb
  3836. should set use_ssl to the current config use_ssl? value
  3837. should set ssl_verify_peer to the current config ssl_verify_peer? value
  3838. should set ssl_ca_file to the current config ssl_ca_file value
  3839. populates the response with the request options
  3840. raises client errors for errors that can not be retried
  3841. raises client errors for 4xx response codes with a nil response body
  3842. does not retry client errors
  3843. retry requests that respond with 500
  3844. retry requests that respond with 503
  3845. retry throttled requests that respond with 400
  3846. retry timeout errors
  3847. should retry at most 3 times
  3848. should build a new request for each retry
  3849. should retry more times if configured
  3850. should re-raise the server error after retries fail
  3851. should re-raise the timeout error after retries fail
  3852. should sleep between retries
  3853. it backs off exponentially
  3854. it uses a randomized scaling factor for throttled requests
  3855. it should behave like supports async option
  3856. asynchronous
  3857. should call handle_async on the handler
  3858. should return a kind of async handle
  3859. should call the success callback on handler success
  3860. should call the failure callback on handler failure
  3861. should make an error available on handler failure
  3862. should call the failure callback on service failure
  3863. should retry service errors
  3864. should retry timeouts
  3865. should build a new request for each retry
  3866. user_agent
  3867. should set the user_agent header
  3868. should prefix the user agent when configured
  3869. memoization status
  3870. should not include "memoizing" if memoization is disabled
  3871. should include "memoizing" if memoization is enabled
  3872. endpoint
  3873. should default the endpoint given in the client config
  3874. user agent
  3875. should send a user-agent header
  3876. stubbing
  3877. should not call handle
  3878. logging
  3879. should log the client request
  3880. should log server errors
  3881. signing
  3882. should call add_authorization! on the request
  3883. should call add_authorization! with the credential provider
  3884. caching enabled
  3885. should add the low-level response object to the cache
  3886. should not cache on failure
  3887. asynchronous
  3888. should add the response on success
  3889. should not cache on failure
  3890. #describe_snapshots
  3891. it should behave like uses cached responses
  3892. when the cache is active
  3893. should not make a request if a matching response is in the cache
  3894. should make a request if no response is cached
  3895. should use a response class whose cache key includes the access key ID
  3896. should log the response including a [CACHED] tag
  3897. it should behave like an aws http request
  3898. with the proper http verb
  3899. should set use_ssl to the current config use_ssl? value
  3900. should set ssl_verify_peer to the current config ssl_verify_peer? value
  3901. should set ssl_ca_file to the current config ssl_ca_file value
  3902. populates the response with the request options
  3903. raises client errors for errors that can not be retried
  3904. raises client errors for 4xx response codes with a nil response body
  3905. does not retry client errors
  3906. retry requests that respond with 500
  3907. retry requests that respond with 503
  3908. retry throttled requests that respond with 400
  3909. retry timeout errors
  3910. should retry at most 3 times
  3911. should build a new request for each retry
  3912. should retry more times if configured
  3913. should re-raise the server error after retries fail
  3914. should re-raise the timeout error after retries fail
  3915. should sleep between retries
  3916. it backs off exponentially
  3917. it uses a randomized scaling factor for throttled requests
  3918. it should behave like supports async option
  3919. asynchronous
  3920. should call handle_async on the handler
  3921. should return a kind of async handle
  3922. should call the success callback on handler success
  3923. should call the failure callback on handler failure
  3924. should make an error available on handler failure
  3925. should call the failure callback on service failure
  3926. should retry service errors
  3927. should retry timeouts
  3928. should build a new request for each retry
  3929. user_agent
  3930. should set the user_agent header
  3931. should prefix the user agent when configured
  3932. memoization status
  3933. should not include "memoizing" if memoization is disabled
  3934. should include "memoizing" if memoization is enabled
  3935. endpoint
  3936. should default the endpoint given in the client config
  3937. user agent
  3938. should send a user-agent header
  3939. stubbing
  3940. should not call handle
  3941. logging
  3942. should log the client request
  3943. should log server errors
  3944. signing
  3945. should call add_authorization! on the request
  3946. should call add_authorization! with the credential provider
  3947. caching enabled
  3948. should add the low-level response object to the cache
  3949. should not cache on failure
  3950. asynchronous
  3951. should add the response on success
  3952. should not cache on failure
  3953. #describe_snapshot_attribute
  3954. it should behave like uses cached responses
  3955. when the cache is active
  3956. should not make a request if a matching response is in the cache
  3957. should make a request if no response is cached
  3958. should use a response class whose cache key includes the access key ID
  3959. should log the response including a [CACHED] tag
  3960. it should behave like an aws http request
  3961. with the proper http verb
  3962. should set use_ssl to the current config use_ssl? value
  3963. should set ssl_verify_peer to the current config ssl_verify_peer? value
  3964. should set ssl_ca_file to the current config ssl_ca_file value
  3965. populates the response with the request options
  3966. raises client errors for errors that can not be retried
  3967. raises client errors for 4xx response codes with a nil response body
  3968. does not retry client errors
  3969. retry requests that respond with 500
  3970. retry requests that respond with 503
  3971. retry throttled requests that respond with 400
  3972. retry timeout errors
  3973. should retry at most 3 times
  3974. should build a new request for each retry
  3975. should retry more times if configured
  3976. should re-raise the server error after retries fail
  3977. should re-raise the timeout error after retries fail
  3978. should sleep between retries
  3979. it backs off exponentially
  3980. it uses a randomized scaling factor for throttled requests
  3981. it should behave like supports async option
  3982. asynchronous
  3983. should call handle_async on the handler
  3984. should return a kind of async handle
  3985. should call the success callback on handler success
  3986. should call the failure callback on handler failure
  3987. should make an error available on handler failure
  3988. should call the failure callback on service failure
  3989. should retry service errors
  3990. should retry timeouts
  3991. should build a new request for each retry
  3992. user_agent
  3993. should set the user_agent header
  3994. should prefix the user agent when configured
  3995. memoization status
  3996. should not include "memoizing" if memoization is disabled
  3997. should include "memoizing" if memoization is enabled
  3998. endpoint
  3999. should default the endpoint given in the client config
  4000. user agent
  4001. should send a user-agent header
  4002. stubbing
  4003. should not call handle
  4004. logging
  4005. should log the client request
  4006. should log server errors
  4007. signing
  4008. should call add_authorization! on the request
  4009. should call add_authorization! with the credential provider
  4010. caching enabled
  4011. should add the low-level response object to the cache
  4012. should not cache on failure
  4013. asynchronous
  4014. should add the response on success
  4015. should not cache on failure
  4016. #describe_tags
  4017. it should behave like uses cached responses
  4018. when the cache is active
  4019. should not make a request if a matching response is in the cache
  4020. should make a request if no response is cached
  4021. should use a response class whose cache key includes the access key ID
  4022. should log the response including a [CACHED] tag
  4023. it should behave like an aws http request
  4024. with the proper http verb
  4025. should set use_ssl to the current config use_ssl? value
  4026. should set ssl_verify_peer to the current config ssl_verify_peer? value
  4027. should set ssl_ca_file to the current config ssl_ca_file value
  4028. populates the response with the request options
  4029. raises client errors for errors that can not be retried
  4030. raises client errors for 4xx response codes with a nil response body
  4031. does not retry client errors
  4032. retry requests that respond with 500
  4033. retry requests that respond with 503
  4034. retry throttled requests that respond with 400
  4035. retry timeout errors
  4036. should retry at most 3 times
  4037. should build a new request for each retry
  4038. should retry more times if configured
  4039. should re-raise the server error after retries fail
  4040. should re-raise the timeout error after retries fail
  4041. should sleep between retries
  4042. it backs off exponentially
  4043. it uses a randomized scaling factor for throttled requests
  4044. it should behave like supports async option
  4045. asynchronous
  4046. should call handle_async on the handler
  4047. should return a kind of async handle
  4048. should call the success callback on handler success
  4049. should call the failure callback on handler failure
  4050. should make an error available on handler failure
  4051. should call the failure callback on service failure
  4052. should retry service errors
  4053. should retry timeouts
  4054. should build a new request for each retry
  4055. user_agent
  4056. should set the user_agent header
  4057. should prefix the user agent when configured
  4058. memoization status
  4059. should not include "memoizing" if memoization is disabled
  4060. should include "memoizing" if memoization is enabled
  4061. endpoint
  4062. should default the endpoint given in the client config
  4063. user agent
  4064. should send a user-agent header
  4065. stubbing
  4066. should not call handle
  4067. logging
  4068. should log the client request
  4069. should log server errors
  4070. signing
  4071. should call add_authorization! on the request
  4072. should call add_authorization! with the credential provider
  4073. caching enabled
  4074. should add the low-level response object to the cache
  4075. should not cache on failure
  4076. asynchronous
  4077. should add the response on success
  4078. should not cache on failure
  4079. error parsing
  4080. should raise the correct error class
  4081. AWS::EC2::CustomerGatewayCollection
  4082. it should behave like an ec2 model object
  4083. #initialize
  4084. should not read the client
  4085. #client
  4086. gets the client from the configuration
  4087. it should behave like ec2 collection object
  4088. it should behave like enumerable
  4089. should not read the client
  4090. #filter
  4091. returns a new collection
  4092. #each
  4093. calls the describe method
  4094. yields an instance of the member class
  4095. passes the config
  4096. should yield the right number of objects
  4097. filtered
  4098. it should behave like a filtered ec2 collection
  4099. #filter
  4100. returns a new collection
  4101. filtered enumeration
  4102. accepts multiple values for a single filter name
  4103. should be chainable
  4104. allows addding a filter name more than once
  4105. it should behave like a tagged ec2 collection
  4106. #tagged
  4107. filters by tag name
  4108. can be chained
  4109. accepts values
  4110. also accepts multiple tag names
  4111. #tagged_values
  4112. filters by tag name
  4113. can be chained
  4114. accepts values
  4115. also accepts multiple tag names
  4116. it should behave like ec2 collection array access
  4117. #[]
  4118. returns an object of the member class
  4119. returns an object with the correct config
  4120. #each
  4121. yields route tables
  4122. #[]
  4123. returns a customer gateway with the correct config
  4124. #create
  4125. calls #create_customer_gateway on the client
  4126. returns a customer gateway object
  4127. AWS::EC2::CustomerGateway
  4128. it should behave like an ec2 resource object
  4129. it should behave like an ec2 model object
  4130. #initialize
  4131. should not read the client
  4132. #client
  4133. gets the client from the configuration
  4134. #inspect
  4135. should include the ID
  4136. it should behave like ec2 resource equality method
  4137. #==
  4138. same class
  4139. should return true if the IDs match
  4140. should return false if the IDs do not match
  4141. different class
  4142. should return false
  4143. it should behave like ec2 resource equality method
  4144. #eql?
  4145. same class
  4146. should return true if the IDs match
  4147. should return false if the IDs do not match
  4148. different class
  4149. should return false
  4150. it should behave like a tagged ec2 item
  4151. #add_tag
  4152. adds a tag
  4153. returns a tag object
  4154. accepts an optional tag value
  4155. #clear_tags
  4156. deletes all tags with the taggable id
  4157. #tags
  4158. returns a resource tag collection
  4159. should pass the resource and config
  4160. #cached_tags
  4161. when caching is disabled
  4162. should return nil
  4163. when caching is enabled
  4164. should query describe_instances responses
  4165. should return nil if no matching instance is found
  4166. when instance data is cached
  4167. should return a hash
  4168. #customer_gateway_id
  4169. returns the customer gateway id passed in
  4170. is aliased as #id
  4171. #delete
  4172. calls #delete_customer_gateway on the client
  4173. exisitng gateway
  4174. state
  4175. is returned as a sybmol
  4176. vpc_type
  4177. is retruned as a string
  4178. ip_address
  4179. is retruned as a string
  4180. bgp_asn
  4181. is retruned as an integer
  4182. #exists?
  4183. calls #describe_customer_gateways to determine if it exists
  4184. returns true if it can be described
  4185. returns false if an error is raised trying to describe it
  4186. AWS::EC2::DHCPOptionsCollection
  4187. it should behave like an ec2 model object
  4188. #initialize
  4189. should not read the client
  4190. #client
  4191. gets the client from the configuration
  4192. it should behave like ec2 collection object
  4193. it should behave like enumerable
  4194. should not read the client
  4195. #filter
  4196. returns a new collection
  4197. #each
  4198. calls the describe method
  4199. yields an instance of the member class
  4200. passes the config
  4201. should yield the right number of objects
  4202. filtered
  4203. it should behave like a filtered ec2 collection
  4204. #filter
  4205. returns a new collection
  4206. filtered enumeration
  4207. accepts multiple values for a single filter name
  4208. should be chainable
  4209. allows addding a filter name more than once
  4210. it should behave like a tagged ec2 collection
  4211. #tagged
  4212. filters by tag name
  4213. can be chained
  4214. accepts values
  4215. also accepts multiple tag names
  4216. #tagged_values
  4217. filters by tag name
  4218. can be chained
  4219. accepts values
  4220. also accepts multiple tag names
  4221. it should behave like ec2 collection array access
  4222. #[]
  4223. returns an object of the member class
  4224. returns an object with the correct config
  4225. #each
  4226. yields dhcp options
  4227. #[]
  4228. returns a dhcp options
  4229. #create
  4230. calls #create_dhcp_options on the client
  4231. accepts a domain name
  4232. accepts a list of domain name servers
  4233. accepts a list of ntp servers
  4234. accepts a list of ntp servers
  4235. accepts a netbios node type
  4236. AWS::EC2::DHCPOptions
  4237. it should behave like an ec2 resource object
  4238. it should behave like an ec2 model object
  4239. #initialize
  4240. should not read the client
  4241. #client
  4242. gets the client from the configuration
  4243. #inspect
  4244. should include the ID
  4245. it should behave like ec2 resource equality method
  4246. #==
  4247. same class
  4248. should return true if the IDs match
  4249. should return false if the IDs do not match
  4250. different class
  4251. should return false
  4252. it should behave like ec2 resource equality method
  4253. #eql?
  4254. same class
  4255. should return true if the IDs match
  4256. should return false if the IDs do not match
  4257. different class
  4258. should return false
  4259. it should behave like a tagged ec2 item
  4260. #add_tag
  4261. adds a tag
  4262. returns a tag object
  4263. accepts an optional tag value
  4264. #clear_tags
  4265. deletes all tags with the taggable id
  4266. #tags
  4267. returns a resource tag collection
  4268. should pass the resource and config
  4269. #cached_tags
  4270. when caching is disabled
  4271. should return nil
  4272. when caching is enabled
  4273. should query describe_instances responses
  4274. should return nil if no matching instance is found
  4275. when instance data is cached
  4276. should return a hash
  4277. #dhcp_options_id
  4278. returns the dhcp options id passed in
  4279. is aliased as #id
  4280. #delete
  4281. calls #delete_dhcp_options on the client
  4282. #associate
  4283. calls #associate_dhcp_options on the client
  4284. accepts a vpc object
  4285. existing
  4286. #configuration
  4287. returns the configuration as a hash
  4288. #exists?
  4289. calls #describe_dhcp_options to determine if it exists
  4290. returns true if it can be described
  4291. returns false if an error is raised trying to describe it
  4292. AWS::EC2::ElasticIpCollection
  4293. it should behave like an ec2 model object
  4294. #initialize
  4295. should not read the client
  4296. #client
  4297. gets the client from the configuration
  4298. it should behave like ec2 collection object
  4299. it should behave like enumerable
  4300. should not read the client
  4301. #filter
  4302. returns a new collection
  4303. #each
  4304. calls the describe method
  4305. yields an instance of the member class
  4306. passes the config
  4307. should yield the right number of objects
  4308. filtered
  4309. it should behave like a filtered ec2 collection
  4310. #filter
  4311. returns a new collection
  4312. filtered enumeration
  4313. accepts multiple values for a single filter name
  4314. should be chainable
  4315. allows addding a filter name more than once
  4316. it should behave like ec2 collection array access
  4317. #[]
  4318. returns an object of the member class
  4319. returns an object with the correct config
  4320. #create
  4321. should return an elastic ip address
  4322. returns an elastic ip address with the correct configuration
  4323. calls allocate_address on the client
  4324. returns an elasic ip address with the correct ip address
  4325. accepts a :vpc option for creating vpc ip addresses
  4326. #allocate
  4327. should be an alias of create
  4328. #[]
  4329. returns an elastic ip
  4330. returns an elastic ip with the given public ip
  4331. #each
  4332. should pass the ip addresses
  4333. AWS::EC2::ElasticIp
  4334. it should behave like an ec2 resource object
  4335. it should behave like an ec2 model object
  4336. #initialize
  4337. should not read the client
  4338. #client
  4339. gets the client from the configuration
  4340. #inspect
  4341. should include the ID
  4342. it should behave like ec2 resource equality method
  4343. #==
  4344. same class
  4345. should return true if the IDs match
  4346. should return false if the IDs do not match
  4347. different class
  4348. should return false
  4349. it should behave like ec2 resource equality method
  4350. #eql?
  4351. same class
  4352. should return true if the IDs match
  4353. should return false if the IDs do not match
  4354. different class
  4355. should return false
  4356. #public_ip
  4357. returns the ip address
  4358. #instance_id
  4359. it should behave like ec2 resource attribute accessor (describe call)
  4360. when returned by the service
  4361. should call the describe call
  4362. should return the translated attribute value
  4363. when not returned by the service
  4364. should return nil if the field is not set
  4365. #vpc?
  4366. returns true when the domain is vpc
  4367. returns false when the domain is not vpc
  4368. #associated?
  4369. returns false when :instance_id and :association_id are not set
  4370. returns true when :instance_id is set
  4371. #instance
  4372. it should behave like accessor for ec2 resource
  4373. should return a resource object
  4374. should pass the id
  4375. should pass the config
  4376. should return nil if there is no id
  4377. #delete
  4378. calls release_address on the client
  4379. calls release_address on the client with the association id
  4380. #release
  4381. should be an alias of delete
  4382. #associate
  4383. vpc elastic ips
  4384. accpets :instance with an instance object
  4385. accpets :instance with an instance id
  4386. accpets :network_interface with an id
  4387. accpets :network_interface with an object
  4388. regular elastic ips
  4389. accpets :instance with an instance object
  4390. accpets :instance with an instance id
  4391. returns the association id
  4392. #disassociate
  4393. calls disassociate_address on the client
  4394. passes the allocation id for vpc elastic ips
  4395. AWS::EC2::ExportTaskCollection
  4396. it should behave like an ec2 model object
  4397. #initialize
  4398. should not read the client
  4399. #client
  4400. gets the client from the configuration
  4401. it should behave like ec2 collection object
  4402. it should behave like enumerable
  4403. should not read the client
  4404. #filter
  4405. returns a new collection
  4406. #each
  4407. calls the describe method
  4408. yields an instance of the member class
  4409. passes the config
  4410. should yield the right number of objects
  4411. filtered
  4412. it should behave like a filtered ec2 collection
  4413. #filter
  4414. returns a new collection
  4415. filtered enumeration
  4416. accepts multiple values for a single filter name
  4417. should be chainable
  4418. allows addding a filter name more than once
  4419. it should behave like ec2 collection array access
  4420. #[]
  4421. returns an object of the member class
  4422. returns an object with the correct config
  4423. #each
  4424. yields export tasks
  4425. #[]
  4426. returns an export task
  4427. returns an export task with the proper id
  4428. returns an export task with the proper config
  4429. AWS::EC2::ExportTask
  4430. it should behave like an ec2 resource object
  4431. it should behave like an ec2 model object
  4432. #initialize
  4433. should not read the client
  4434. #client
  4435. gets the client from the configuration
  4436. #inspect
  4437. should include the ID
  4438. it should behave like ec2 resource equality method
  4439. #==
  4440. same class
  4441. should return true if the IDs match
  4442. should return false if the IDs do not match
  4443. different class
  4444. should return false
  4445. it should behave like ec2 resource equality method
  4446. #eql?
  4447. same class
  4448. should return true if the IDs match
  4449. should return false if the IDs do not match
  4450. different class
  4451. should return false
  4452. attributes
  4453. should return the nested instance_id
  4454. returns the nested target environment
  4455. returns the description
  4456. returns the state as a symbol
  4457. returns the status_message
  4458. returns the nested disk image format
  4459. returns the nested container format
  4460. returns the nested s3 bucket name
  4461. returns the nested s3 key
  4462. #instance
  4463. returns an instance object
  4464. returns an instance with the proper id
  4465. returns an instance with the proper config
  4466. #s3_bucket
  4467. returns a bucket object
  4468. returns a bucket with the proper name
  4469. returns a bucket with the proper config
  4470. #s3_object
  4471. returns an s3 object
  4472. returns an s3 object with the proper key
  4473. returns an s3 object with the proper bucket
  4474. returns an s3 object with the proper config
  4475. #cancel
  4476. calls #cancel_export_task
  4477. AWS::EC2::ImageCollection
  4478. it should behave like an ec2 model object
  4479. #initialize
  4480. should not read the client
  4481. #client
  4482. gets the client from the configuration
  4483. it should behave like ec2 collection object
  4484. it should behave like enumerable
  4485. should not read the client
  4486. #filter
  4487. returns a new collection
  4488. #each
  4489. calls the describe method
  4490. yields an instance of the member class
  4491. passes the config
  4492. should yield the right number of objects
  4493. filtered
  4494. it should behave like a filtered ec2 collection
  4495. #filter
  4496. returns a new collection
  4497. filtered enumeration
  4498. accepts multiple values for a single filter name
  4499. should be chainable
  4500. allows addding a filter name more than once
  4501. it should behave like a tagged ec2 collection
  4502. #tagged
  4503. filters by tag name
  4504. can be chained
  4505. accepts values
  4506. also accepts multiple tag names
  4507. #tagged_values
  4508. filters by tag name
  4509. can be chained
  4510. accepts values
  4511. also accepts multiple tag names
  4512. #with_owner
  4513. should filter by passing the Owner.n parameter
  4514. should accept symbol values
  4515. should preserve filters
  4516. should survive filtering
  4517. #executable_by
  4518. should filter by passing the ExecutableBy.n parameter
  4519. should accept symbol values
  4520. should preserve filters
  4521. should survive filtering
  4522. #create
  4523. with an instance id
  4524. should call create_image
  4525. should return an image object
  4526. should pass the image ID
  4527. should pass the config
  4528. with an image location
  4529. should call register_image
  4530. should accept :kernel with an Image object
  4531. should accept :ramdisk with an Image object
  4532. with a root device name
  4533. should call register_image
  4534. should accept :kernel with an Image object
  4535. should accept :ramdisk with an Image object
  4536. block device mappings
  4537. virtual mapping
  4538. should send the entry value as the virtual device name
  4539. ebs volume
  4540. should send the ebs option with all the values
  4541. should accept :snapshot
  4542. badly formatted input
  4543. should reject an array
  4544. should reject non-string keys
  4545. should reject array destinations
  4546. should reject unrecognized symbolic destinations
  4547. missing required parameters
  4548. should raise an error
  4549. #[]
  4550. should pass the image id
  4551. AWS::EC2::Image
  4552. it should behave like an ec2 resource object
  4553. it should behave like an ec2 model object
  4554. #initialize
  4555. should not read the client
  4556. #client
  4557. gets the client from the configuration
  4558. #inspect
  4559. should include the ID
  4560. it should behave like ec2 resource equality method
  4561. #==
  4562. same class
  4563. should return true if the IDs match
  4564. should return false if the IDs do not match
  4565. different class
  4566. should return false
  4567. it should behave like ec2 resource equality method
  4568. #eql?
  4569. same class
  4570. should return true if the IDs match
  4571. should return false if the IDs do not match
  4572. different class
  4573. should return false
  4574. it should behave like a tagged ec2 item
  4575. #add_tag
  4576. adds a tag
  4577. returns a tag object
  4578. accepts an optional tag value
  4579. #clear_tags
  4580. deletes all tags with the taggable id
  4581. #tags
  4582. returns a resource tag collection
  4583. should pass the resource and config
  4584. #cached_tags
  4585. when caching is disabled
  4586. should return nil
  4587. when caching is enabled
  4588. should query describe_instances responses
  4589. should return nil if no matching instance is found
  4590. when instance data is cached
  4591. should return a hash
  4592. #initialize
  4593. should set the id
  4594. #deregister
  4595. should call deregister_image
  4596. run instance methods
  4597. #run_instance
  4598. should call InstanceCollection#create
  4599. should pass additional options
  4600. should return the instance
  4601. should pass the config
  4602. #run_instances
  4603. should call InstanceCollection#create
  4604. should call pass additional options
  4605. should return the instance
  4606. should pass the config
  4607. #exists?
  4608. should call describe_images
  4609. should return false when the image does not exist
  4610. should return true when the image exists
  4611. #location
  4612. it should behave like static ec2 image attribute (describe_images)
  4613. it should behave like ec2 image attribute accessor (describe_images)
  4614. when returned by the service
  4615. should call describe_images
  4616. should return the translated attribute value
  4617. when not returned by the service
  4618. should return nil if the field is not set
  4619. with repeated calls
  4620. when returned by the service
  4621. should call describe_images only once
  4622. should return the translated value
  4623. when not returned by the service
  4624. should call describe_images only once
  4625. should return nil
  4626. #description
  4627. it should behave like ec2 image attribute accessor (describe_images)
  4628. when returned by the service
  4629. should call describe_images
  4630. should return the translated attribute value
  4631. when not returned by the service
  4632. should return nil if the field is not set
  4633. #state
  4634. it should behave like ec2 image attribute accessor (describe_images)
  4635. when returned by the service
  4636. should call describe_images
  4637. should return the translated attribute value
  4638. when not returned by the service
  4639. should return nil if the field is not set
  4640. #owner_id
  4641. it should behave like static ec2 image attribute (describe_images)
  4642. it should behave like ec2 image attribute accessor (describe_images)
  4643. when returned by the service
  4644. should call describe_images
  4645. should return the translated attribute value
  4646. when not returned by the service
  4647. should return nil if the field is not set
  4648. with repeated calls
  4649. when returned by the service
  4650. should call describe_images only once
  4651. should return the translated value
  4652. when not returned by the service
  4653. should call describe_images only once
  4654. should return nil
  4655. #owner_alias
  4656. it should behave like static ec2 image attribute (describe_images)
  4657. it should behave like ec2 image attribute accessor (describe_images)
  4658. when returned by the service
  4659. should call describe_images
  4660. should return the translated attribute value
  4661. when not returned by the service
  4662. should return nil if the field is not set
  4663. with repeated calls
  4664. when returned by the service
  4665. should call describe_images only once
  4666. should return the translated value
  4667. when not returned by the service
  4668. should call describe_images only once
  4669. should return nil
  4670. it should behave like has ec2 public?/private? accessors
  4671. #public?
  4672. should call the describe method
  4673. should return true if the "all" group has access
  4674. should return false if the "all" group has no access
  4675. #private?
  4676. should call the describe method
  4677. should return false if the "all" group has access
  4678. should return true if the "all" group has no access
  4679. #public=
  4680. set to true
  4681. should call the modify method
  4682. set to false
  4683. should call modify_image_attribute
  4684. #architecture
  4685. it should behave like static ec2 image attribute (describe_images)
  4686. it should behave like ec2 image attribute accessor (describe_images)
  4687. when returned by the service
  4688. should call describe_images
  4689. should return the translated attribute value
  4690. when not returned by the service
  4691. should return nil if the field is not set
  4692. with repeated calls
  4693. when returned by the service
  4694. should call describe_images only once
  4695. should return the translated value
  4696. when not returned by the service
  4697. should call describe_images only once
  4698. should return nil
  4699. #type
  4700. it should behave like static ec2 image attribute (describe_images)
  4701. it should behave like ec2 image attribute accessor (describe_images)
  4702. when returned by the service
  4703. should call describe_images
  4704. should return the translated attribute value
  4705. when not returned by the service
  4706. should return nil if the field is not set
  4707. with repeated calls
  4708. when returned by the service
  4709. should call describe_images only once
  4710. should return the translated value
  4711. when not returned by the service
  4712. should call describe_images only once
  4713. should return nil
  4714. #kernel_id
  4715. it should behave like static ec2 image attribute (describe_images)
  4716. it should behave like ec2 image attribute accessor (describe_images)
  4717. when returned by the service
  4718. should call describe_images
  4719. should return the translated attribute value
  4720. when not returned by the service
  4721. should return nil if the field is not set
  4722. with repeated calls
  4723. when returned by the service
  4724. should call describe_images only once
  4725. should return the translated value
  4726. when not returned by the service
  4727. should call describe_images only once
  4728. should return nil
  4729. #kernel
  4730. it should behave like accessor for ec2 resource
  4731. should return a resource object
  4732. should pass the id
  4733. should pass the config
  4734. should return nil if there is no id
  4735. #ramdisk_id
  4736. it should behave like static ec2 image attribute (describe_images)
  4737. it should behave like ec2 image attribute accessor (describe_images)
  4738. when returned by the service
  4739. should call describe_images
  4740. should return the translated attribute value
  4741. when not returned by the service
  4742. should return nil if the field is not set
  4743. with repeated calls
  4744. when returned by the service
  4745. should call describe_images only once
  4746. should return the translated value
  4747. when not returned by the service
  4748. should call describe_images only once
  4749. should return nil
  4750. #ramdisk
  4751. it should behave like accessor for ec2 resource
  4752. should return a resource object
  4753. should pass the id
  4754. should pass the config
  4755. should return nil if there is no id
  4756. #platform
  4757. it should behave like static ec2 image attribute (describe_images)
  4758. it should behave like ec2 image attribute accessor (describe_images)
  4759. when returned by the service
  4760. should call describe_images
  4761. should return the translated attribute value
  4762. when not returned by the service
  4763. should return nil if the field is not set
  4764. with repeated calls
  4765. when returned by the service
  4766. should call describe_images only once
  4767. should return the translated value
  4768. when not returned by the service
  4769. should call describe_images only once
  4770. should return nil
  4771. #state_reason
  4772. it should behave like ec2 image attribute accessor (describe_images)
  4773. when returned by the service
  4774. should call describe_images
  4775. should return the translated attribute value
  4776. when not returned by the service
  4777. should return nil if the field is not set
  4778. #name
  4779. it should behave like static ec2 image attribute (describe_images)
  4780. it should behave like ec2 image attribute accessor (describe_images)
  4781. when returned by the service
  4782. should call describe_images
  4783. should return the translated attribute value
  4784. when not returned by the service
  4785. should return nil if the field is not set
  4786. with repeated calls
  4787. when returned by the service
  4788. should call describe_images only once
  4789. should return the translated value
  4790. when not returned by the service
  4791. should call describe_images only once
  4792. should return nil
  4793. #root_device_type
  4794. it should behave like static ec2 image attribute (describe_images)
  4795. it should behave like ec2 image attribute accessor (describe_images)
  4796. when returned by the service
  4797. should call describe_images
  4798. should return the translated attribute value
  4799. when not returned by the service
  4800. should return nil if the field is not set
  4801. with repeated calls
  4802. when returned by the service
  4803. should call describe_images only once
  4804. should return the translated value
  4805. when not returned by the service
  4806. should call describe_images only once
  4807. should return nil
  4808. #root_device_name
  4809. it should behave like ec2 image attribute accessor (describe_images)
  4810. when returned by the service
  4811. should call describe_images
  4812. should return the translated attribute value
  4813. when not returned by the service
  4814. should return nil if the field is not set
  4815. #virtualization_type
  4816. it should behave like ec2 image attribute accessor (describe_images)
  4817. when returned by the service
  4818. should call describe_images
  4819. should return the translated attribute value
  4820. when not returned by the service
  4821. should return nil if the field is not set
  4822. #hypervisor
  4823. it should behave like ec2 image attribute accessor (describe_images)
  4824. when returned by the service
  4825. should call describe_images
  4826. should return the translated attribute value
  4827. when not returned by the service
  4828. should return nil if the field is not set
  4829. #product_codes
  4830. gets the product codes
  4831. #add_product_codes
  4832. calls modify image attribute on the client
  4833. accepts a list of product codes
  4834. accepts an array of product codes
  4835. #block_device_mappings
  4836. when returned by the service
  4837. should call describe_images
  4838. should return the translated attribute value
  4839. when not returned by the service
  4840. should return an empty hash if the field is not set
  4841. #description=
  4842. should call modify_image_attribute
  4843. #launch_permissions
  4844. should call describe_image_attribute
  4845. permissions list
  4846. should be enumerable
  4847. should include the user permission as a string
  4848. should not include the group permission
  4849. should report the size without the group permission
  4850. #add
  4851. should call modify_image_attribute
  4852. should do nothing if there are no arguments
  4853. #remove
  4854. should call modify_image_attribute
  4855. should do nothing if there are no arguments
  4856. #reset
  4857. should call reset_image_attribute
  4858. #cached_tags
  4859. when caching is disabled
  4860. should return nil
  4861. when caching is enabled
  4862. should query describe_images responses
  4863. should return nil if no matching instance is found
  4864. when image data is cached
  4865. should return a hash
  4866. AWS::EC2::InstanceCollection
  4867. it should behave like an ec2 model object
  4868. #initialize
  4869. should not read the client
  4870. #client
  4871. gets the client from the configuration
  4872. it should behave like ec2 collection object
  4873. it should behave like enumerable
  4874. should not read the client
  4875. #filter
  4876. returns a new collection
  4877. #each
  4878. calls the describe method
  4879. yields an instance of the member class
  4880. passes the config
  4881. should yield the right number of objects
  4882. filtered
  4883. it should behave like a filtered ec2 collection
  4884. #filter
  4885. returns a new collection
  4886. filtered enumeration
  4887. accepts multiple values for a single filter name
  4888. should be chainable
  4889. allows addding a filter name more than once
  4890. it should behave like a tagged ec2 collection
  4891. #tagged
  4892. filters by tag name
  4893. can be chained
  4894. accepts values
  4895. also accepts multiple tag names
  4896. #tagged_values
  4897. filters by tag name
  4898. can be chained
  4899. accepts values
  4900. also accepts multiple tag names
  4901. it should behave like ec2 collection array access
  4902. #[]
  4903. returns an object of the member class
  4904. returns an object with the correct config
  4905. #create
  4906. one instance
  4907. should call run_instances
  4908. should default to running one instance
  4909. should Base64-encode the user data
  4910. should return an instance object
  4911. should pass the instance ID
  4912. should pass the config
  4913. multiple instances
  4914. with a range
  4915. it should behave like ec2 instance count option
  4916. should send min and max count approprately
  4917. return value
  4918. should return an array
  4919. should return instance objects
  4920. should use the instance IDs from the response
  4921. should pass the config
  4922. with an exclusive range
  4923. it should behave like ec2 instance count option
  4924. should send min and max count approprately
  4925. return value
  4926. should return an array
  4927. should return instance objects
  4928. should use the instance IDs from the response
  4929. should pass the config
  4930. with a number
  4931. it should behave like ec2 instance count option
  4932. should send min and max count approprately
  4933. return value
  4934. should return an array
  4935. should return instance objects
  4936. should use the instance IDs from the response
  4937. should pass the config
  4938. :iam_instance_profile
  4939. accepts an arn
  4940. accepts a name
  4941. accepts a hash
  4942. :image
  4943. it should behave like run instances resource option
  4944. should accept an image object
  4945. should not be passed to the client
  4946. :kernel
  4947. it should behave like run instances resource option
  4948. should accept an image object
  4949. should not be passed to the client
  4950. :ramdisk
  4951. it should behave like run instances resource option
  4952. should accept an image object
  4953. should not be passed to the client
  4954. :key_pair
  4955. it should behave like run instances resource option
  4956. should accept an image object
  4957. should not be passed to the client
  4958. monitoring
  4959. should send Monitoring.Enabled
  4960. :subnet
  4961. defaults to not sending subnet id
  4962. passes :subnet as :subnet_id
  4963. :private_ip_address
  4964. passes :private_ip_address through unmodified
  4965. :dedicated_tenancy
  4966. should send Placement.Tenancy
  4967. should accept tenancy with an availability zone
  4968. availability zone
  4969. should send Placement.AvailabilityZone
  4970. should accept an availability zone object
  4971. client token
  4972. should provide a UUID client token
  4973. security groups
  4974. non-vpc
  4975. accepts singular ids
  4976. accepts multiple ids
  4977. accepts singular names
  4978. accepts multiple names
  4979. accepts singular security group objects
  4980. accepts multiple security group objects
  4981. accepts mixed ids, names and security groups objects
  4982. rejects invalid values
  4983. vpc
  4984. accepts singular ids
  4985. accepts multiple ids
  4986. accepts security group objects
  4987. converts names into ids
  4988. block device mappings
  4989. virtual mapping
  4990. should send the entry value as the virtual device name
  4991. no device
  4992. should send true for the no_device option
  4993. ebs volume
  4994. should send the ebs option with all the values
  4995. should accept :snapshot
  4996. badly formatted input
  4997. should reject an array
  4998. should reject non-string keys
  4999. should reject array destinations
  5000. should reject unrecognized symbolic destinations
  5001. #[]
  5002. should pass the ID
  5003. AWS::EC2::Instance
  5004. it should behave like an ec2 resource object
  5005. it should behave like an ec2 model object
  5006. #initialize
  5007. should not read the client
  5008. #client
  5009. gets the client from the configuration
  5010. #inspect
  5011. should include the ID
  5012. it should behave like ec2 resource equality method
  5013. #==
  5014. same class
  5015. should return true if the IDs match
  5016. should return false if the IDs do not match
  5017. different class
  5018. should return false
  5019. it should behave like ec2 resource equality method
  5020. #eql?
  5021. same class
  5022. should return true if the IDs match
  5023. should return false if the IDs do not match
  5024. different class
  5025. should return false
  5026. it should behave like a tagged ec2 item
  5027. #add_tag
  5028. adds a tag
  5029. returns a tag object
  5030. accepts an optional tag value
  5031. #clear_tags
  5032. deletes all tags with the taggable id
  5033. #tags
  5034. returns a resource tag collection
  5035. should pass the resource and config
  5036. #cached_tags
  5037. when caching is disabled
  5038. should return nil
  5039. when caching is enabled
  5040. should query describe_instances responses
  5041. should return nil if no matching instance is found
  5042. when instance data is cached
  5043. should return a hash
  5044. #initialize
  5045. should accept the instance ID
  5046. #console_output
  5047. calls get_console_output on the client
  5048. base 64 decodes the output
  5049. does not attempt to decode output when blank
  5050. #exists?
  5051. it should behave like ec2 resource exists method
  5052. #exists?
  5053. should call describe_volumes
  5054. should return false when the resource does not exist
  5055. should return true when the resource exists
  5056. #terminate
  5057. it should behave like ec2 instance action
  5058. should call terminate_instances
  5059. #reboot
  5060. it should behave like ec2 instance action
  5061. should call reboot_instances
  5062. #start
  5063. it should behave like ec2 instance action
  5064. should call start_instances
  5065. #stop
  5066. it should behave like ec2 instance action
  5067. should call stop_instances
  5068. #security_groups
  5069. when returned by the service
  5070. should call describe_instances
  5071. should return the translated attribute value
  5072. should pass the gruop name
  5073. when not returned by the service
  5074. should return an empty arry if the field is not set
  5075. #private_dns_name
  5076. it should behave like ec2 instance attribute accessor (describe_instances)
  5077. when returned by the service
  5078. should call describe_instances
  5079. should return the translated attribute value
  5080. when not returned by the service
  5081. should return nil if the field is not set
  5082. it should behave like ec2 instance attribute returned from describe_instances
  5083. populate from run_instances
  5084. when returned by the service
  5085. should populate the correct value
  5086. when not returned by the service
  5087. should populate nil
  5088. #dns_name
  5089. it should behave like ec2 instance attribute accessor (describe_instances)
  5090. when returned by the service
  5091. should call describe_instances
  5092. should return the translated attribute value
  5093. when not returned by the service
  5094. should return nil if the field is not set
  5095. it should behave like ec2 instance attribute returned from describe_instances
  5096. populate from run_instances
  5097. when returned by the service
  5098. should populate the correct value
  5099. when not returned by the service
  5100. should populate nil
  5101. #ami_launch_index
  5102. it should behave like ec2 instance attribute accessor (describe_instances)
  5103. when returned by the service
  5104. should call describe_instances
  5105. should return the translated attribute value
  5106. when not returned by the service
  5107. should return nil if the field is not set
  5108. it should behave like ec2 instance attribute returned from describe_instances
  5109. populate from run_instances
  5110. when returned by the service
  5111. should populate the correct value
  5112. when not returned by the service
  5113. should populate nil
  5114. #monitoring
  5115. it should behave like ec2 instance attribute accessor (describe_instances)
  5116. when returned by the service
  5117. should call describe_instances
  5118. should return the translated attribute value
  5119. when not returned by the service
  5120. should return nil if the field is not set
  5121. it should behave like ec2 instance attribute returned from describe_instances
  5122. populate from run_instances
  5123. when returned by the service
  5124. should populate the correct value
  5125. when not returned by the service
  5126. should populate nil
  5127. populate from monitor_instances
  5128. it should behave like populate from monitoring action
  5129. when the instance is not included in the response
  5130. should not populate
  5131. when the instance is included in the response
  5132. should return the translated value
  5133. populate from unmonitor_instances
  5134. it should behave like populate from monitoring action
  5135. when the instance is not included in the response
  5136. should not populate
  5137. when the instance is included in the response
  5138. should return the translated value
  5139. #monitoring_enabled?
  5140. should return true if monitoring is enabled
  5141. should return false if monitoring is not enabled
  5142. #monitoring_enabled=
  5143. enable monitoring
  5144. should call monitor_instances
  5145. should return true
  5146. disable monitoring
  5147. should call monitor_instances
  5148. should return false
  5149. #private_ip_address
  5150. it should behave like ec2 instance attribute accessor (describe_instances)
  5151. when returned by the service
  5152. should call describe_instances
  5153. should return the translated attribute value
  5154. when not returned by the service
  5155. should return nil if the field is not set
  5156. it should behave like ec2 instance attribute returned from describe_instances
  5157. populate from run_instances
  5158. when returned by the service
  5159. should populate the correct value
  5160. when not returned by the service
  5161. should populate nil
  5162. #ip_address
  5163. it should behave like ec2 instance attribute accessor (describe_instances)
  5164. when returned by the service
  5165. should call describe_instances
  5166. should return the translated attribute value
  5167. when not returned by the service
  5168. should return nil if the field is not set
  5169. it should behave like ec2 instance attribute returned from describe_instances
  5170. populate from run_instances
  5171. when returned by the service
  5172. should populate the correct value
  5173. when not returned by the service
  5174. should populate nil
  5175. #architecture
  5176. it should behave like ec2 instance attribute accessor (describe_instances)
  5177. when returned by the service
  5178. should call describe_instances
  5179. should return the translated attribute value
  5180. when not returned by the service
  5181. should return nil if the field is not set
  5182. it should behave like ec2 instance attribute returned from describe_instances
  5183. populate from run_instances
  5184. when returned by the service
  5185. should populate the correct value
  5186. when not returned by the service
  5187. should populate nil
  5188. #root_device_type
  5189. it should behave like ec2 instance attribute accessor (describe_instances)
  5190. when returned by the service
  5191. should call describe_instances
  5192. should return the translated attribute value
  5193. when not returned by the service
  5194. should return nil if the field is not set
  5195. it should behave like ec2 instance attribute returned from describe_instances
  5196. populate from run_instances
  5197. when returned by the service
  5198. should populate the correct value
  5199. when not returned by the service
  5200. should populate nil
  5201. #instance_lifecycle
  5202. it should behave like ec2 instance attribute accessor (describe_instances)
  5203. when returned by the service
  5204. should call describe_instances
  5205. should return the translated attribute value
  5206. when not returned by the service
  5207. should return nil if the field is not set
  5208. it should behave like ec2 instance attribute returned from describe_instances
  5209. populate from run_instances
  5210. when returned by the service
  5211. should populate the correct value
  5212. when not returned by the service
  5213. should populate nil
  5214. #spot_instance?
  5215. should return true if the instance has a spot lifecycle
  5216. should return false if the instance does not have a spot lifecycle
  5217. #virtualization_type
  5218. it should behave like ec2 instance attribute accessor (describe_instances)
  5219. when returned by the service
  5220. should call describe_instances
  5221. should return the translated attribute value
  5222. when not returned by the service
  5223. should return nil if the field is not set
  5224. it should behave like ec2 instance attribute returned from describe_instances
  5225. populate from run_instances
  5226. when returned by the service
  5227. should populate the correct value
  5228. when not returned by the service
  5229. should populate nil
  5230. #hypervisor
  5231. it should behave like ec2 instance attribute accessor (describe_instances)
  5232. when returned by the service
  5233. should call describe_instances
  5234. should return the translated attribute value
  5235. when not returned by the service
  5236. should return nil if the field is not set
  5237. it should behave like ec2 instance attribute returned from describe_instances
  5238. populate from run_instances
  5239. when returned by the service
  5240. should populate the correct value
  5241. when not returned by the service
  5242. should populate nil
  5243. #state_transition_reason
  5244. it should behave like ec2 instance attribute accessor (describe_instances)
  5245. when returned by the service
  5246. should call describe_instances
  5247. should return the translated attribute value
  5248. when not returned by the service
  5249. should return nil if the field is not set
  5250. it should behave like ec2 instance attribute returned from describe_instances
  5251. populate from run_instances
  5252. when returned by the service
  5253. should populate the correct value
  5254. when not returned by the service
  5255. should populate nil
  5256. #launch_time
  5257. it should behave like ec2 instance attribute accessor (describe_instances)
  5258. when returned by the service
  5259. should call describe_instances
  5260. should return the translated attribute value
  5261. when not returned by the service
  5262. should return nil if the field is not set
  5263. it should behave like ec2 instance attribute returned from describe_instances
  5264. populate from run_instances
  5265. when returned by the service
  5266. should populate the correct value
  5267. when not returned by the service
  5268. should populate nil
  5269. #platform
  5270. it should behave like ec2 instance attribute accessor (describe_instances)
  5271. when returned by the service
  5272. should call describe_instances
  5273. should return the translated attribute value
  5274. when not returned by the service
  5275. should return nil if the field is not set
  5276. it should behave like ec2 instance attribute returned from describe_instances
  5277. populate from run_instances
  5278. when returned by the service
  5279. should populate the correct value
  5280. when not returned by the service
  5281. should populate nil
  5282. #client_token
  5283. it should behave like ec2 instance attribute accessor (describe_instances)
  5284. when returned by the service
  5285. should call describe_instances
  5286. should return the translated attribute value
  5287. when not returned by the service
  5288. should return nil if the field is not set
  5289. it should behave like ec2 instance attribute returned from describe_instances
  5290. populate from run_instances
  5291. when returned by the service
  5292. should populate the correct value
  5293. when not returned by the service
  5294. should populate nil
  5295. #placement
  5296. it should behave like ec2 instance attribute accessor (describe_instances)
  5297. when returned by the service
  5298. should call describe_instances
  5299. should return the translated attribute value
  5300. when not returned by the service
  5301. should return nil if the field is not set
  5302. it should behave like ec2 instance attribute returned from describe_instances
  5303. populate from run_instances
  5304. when returned by the service
  5305. should populate the correct value
  5306. when not returned by the service
  5307. should populate nil
  5308. #availability_zone
  5309. should get the availability_zone attribute of the placement
  5310. #iam_instance_profile_id
  5311. it should behave like ec2 instance attribute accessor (describe_instances)
  5312. when returned by the service
  5313. should call describe_instances
  5314. should return the translated attribute value
  5315. when not returned by the service
  5316. should return nil if the field is not set
  5317. it should behave like ec2 instance attribute returned from describe_instances
  5318. populate from run_instances
  5319. when returned by the service
  5320. should populate the correct value
  5321. when not returned by the service
  5322. should populate nil
  5323. #iam_instance_profile_arn
  5324. it should behave like ec2 instance attribute accessor (describe_instances)
  5325. when returned by the service
  5326. should call describe_instances
  5327. should return the translated attribute value
  5328. when not returned by the service
  5329. should return nil if the field is not set
  5330. it should behave like ec2 instance attribute returned from describe_instances
  5331. populate from run_instances
  5332. when returned by the service
  5333. should populate the correct value
  5334. when not returned by the service
  5335. should populate nil
  5336. #image_id
  5337. should use retrieve_attribute
  5338. it should behave like ec2 instance attribute accessor (describe_instances)
  5339. when returned by the service
  5340. should call describe_instances
  5341. should return the translated attribute value
  5342. when not returned by the service
  5343. should return nil if the field is not set
  5344. it should behave like ec2 instance attribute returned from describe_instances
  5345. populate from run_instances
  5346. when returned by the service
  5347. should populate the correct value
  5348. when not returned by the service
  5349. should populate nil
  5350. populate from run_instances
  5351. should populate the correct value
  5352. populate from describe_instances
  5353. should populate the correct value
  5354. #image
  5355. should return an image object
  5356. should pass the image ID
  5357. should pass the config
  5358. #key_name
  5359. it should behave like ec2 instance attribute accessor (describe_instances)
  5360. when returned by the service
  5361. should call describe_instances
  5362. should return the translated attribute value
  5363. when not returned by the service
  5364. should return nil if the field is not set
  5365. it should behave like ec2 instance attribute returned from describe_instances
  5366. populate from run_instances
  5367. when returned by the service
  5368. should populate the correct value
  5369. when not returned by the service
  5370. should populate nil
  5371. #key_pair
  5372. it should behave like accessor for ec2 resource
  5373. should return a resource object
  5374. should pass the id
  5375. should pass the config
  5376. should return nil if there is no id
  5377. #create_image
  5378. should call create_image
  5379. should pass additional options to create_image
  5380. should return an image object
  5381. should pass the id
  5382. should pass the config
  5383. #reservation_id
  5384. it should behave like ec2 instance reservation attribute
  5385. should call describe_instances
  5386. when present
  5387. should memoize the attribute value
  5388. should return the attribute value
  5389. when not present
  5390. should return nil
  5391. populate from run_instances
  5392. when returned by the service
  5393. should populate the correct value
  5394. when not returned by the service
  5395. should have a key in the hash with a nil value
  5396. #owner_id
  5397. it should behave like ec2 instance reservation attribute
  5398. should call describe_instances
  5399. when present
  5400. should memoize the attribute value
  5401. should return the attribute value
  5402. when not present
  5403. should return nil
  5404. populate from run_instances
  5405. when returned by the service
  5406. should populate the correct value
  5407. when not returned by the service
  5408. should have a key in the hash with a nil value
  5409. #requester_id
  5410. it should behave like ec2 instance reservation attribute
  5411. should call describe_instances
  5412. when present
  5413. should memoize the attribute value
  5414. should return the attribute value
  5415. when not present
  5416. should return nil
  5417. populate from run_instances
  5418. when returned by the service
  5419. should populate the correct value
  5420. when not returned by the service
  5421. should have a key in the hash with a nil value
  5422. #user_data
  5423. it should behave like ec2 instance attribute accessor (describe_instance_attribute)
  5424. should call describe_instance_attribute
  5425. should return the attribute value
  5426. should return nil if the attribute is not set
  5427. #user_data=
  5428. it should behave like ec2 instance attribute mutator
  5429. should call modify_instance_attribute
  5430. should return the new value
  5431. #instance_type
  5432. it should behave like ec2 instance attribute accessor (describe_instances)
  5433. when returned by the service
  5434. should call describe_instances
  5435. should return the translated attribute value
  5436. when not returned by the service
  5437. should return nil if the field is not set
  5438. it should behave like ec2 instance attribute returned from describe_instances
  5439. populate from run_instances
  5440. when returned by the service
  5441. should populate the correct value
  5442. when not returned by the service
  5443. should populate nil
  5444. populate from run_instances
  5445. should populate the correct value
  5446. populate from describe_instances
  5447. should populate the correct value
  5448. #instance_type=
  5449. it should behave like ec2 instance attribute mutator
  5450. should call modify_instance_attribute
  5451. should return the new value
  5452. #api_termination_disabled?
  5453. it should behave like ec2 instance attribute accessor (describe_instance_attribute)
  5454. should call describe_instance_attribute
  5455. should return the attribute value
  5456. should return nil if the attribute is not set
  5457. #api_termination_disabled=
  5458. it should behave like ec2 instance attribute mutator
  5459. should call modify_instance_attribute
  5460. should return the new value
  5461. #instance_initiated_shutdown_behavior
  5462. it should behave like ec2 instance attribute accessor (describe_instance_attribute)
  5463. should call describe_instance_attribute
  5464. should return the attribute value
  5465. should return nil if the attribute is not set
  5466. #instance_initiated_shutdown_behavior=
  5467. it should behave like ec2 instance attribute mutator
  5468. should call modify_instance_attribute
  5469. should return the new value
  5470. #kernel_id
  5471. it should behave like ec2 instance attribute accessor (describe_instances)
  5472. when returned by the service
  5473. should call describe_instances
  5474. should return the translated attribute value
  5475. when not returned by the service
  5476. should return nil if the field is not set
  5477. it should behave like ec2 instance attribute returned from describe_instances
  5478. populate from run_instances
  5479. when returned by the service
  5480. should populate the correct value
  5481. when not returned by the service
  5482. should populate nil
  5483. #kernel_id=
  5484. it should behave like ec2 instance attribute mutator
  5485. should call modify_instance_attribute
  5486. should return the new value
  5487. #reset_kernel_id
  5488. it should behave like resets ec2 instance attribute
  5489. should call reset_instance_attribute
  5490. should return true if the response has a true return value
  5491. should return false if the response has a false return value
  5492. #reset_ramdisk_id
  5493. it should behave like resets ec2 instance attribute
  5494. should call reset_instance_attribute
  5495. should return true if the response has a true return value
  5496. should return false if the response has a false return value
  5497. #ramdisk_id
  5498. it should behave like ec2 instance attribute accessor (describe_instances)
  5499. when returned by the service
  5500. should call describe_instances
  5501. should return the translated attribute value
  5502. when not returned by the service
  5503. should return nil if the field is not set
  5504. it should behave like ec2 instance attribute returned from describe_instances
  5505. populate from run_instances
  5506. when returned by the service
  5507. should populate the correct value
  5508. when not returned by the service
  5509. should populate nil
  5510. #ramdisk_id=
  5511. it should behave like ec2 instance attribute mutator
  5512. should call modify_instance_attribute
  5513. should return the new value
  5514. #root_device_name
  5515. it should behave like ec2 instance attribute accessor (describe_instances)
  5516. when returned by the service
  5517. should call describe_instances
  5518. should return the translated attribute value
  5519. when not returned by the service
  5520. should return nil if the field is not set
  5521. it should behave like ec2 instance attribute returned from describe_instances
  5522. populate from run_instances
  5523. when returned by the service
  5524. should populate the correct value
  5525. when not returned by the service
  5526. should populate nil
  5527. #block_device_mappings
  5528. populated from describe_instances
  5529. it should behave like ec2 instance block device mapping value
  5530. should have device names as keys
  5531. should return an attachment object as the value for each entry
  5532. attachment object
  5533. should get the volume
  5534. volume should get the config
  5535. should get the instance
  5536. should get the device
  5537. should get the config
  5538. #status
  5539. should call describe_instances
  5540. should return the symbol-ized named of the instance state
  5541. populates from terminate_instances
  5542. it should behave like populates instance state change
  5543. should not populate the status when no instance matches
  5544. should populate from the current state
  5545. populates from start_instances
  5546. it should behave like populates instance state change
  5547. should not populate the status when no instance matches
  5548. should populate from the current state
  5549. populates from stop_instances
  5550. it should behave like populates instance state change
  5551. should not populate the status when no instance matches
  5552. should populate from the current state
  5553. elastic ip addresses
  5554. #elastic_ip
  5555. returns nil if there is no elastic ip address associated
  5556. returns an ElasticIp when one is associated
  5557. #associate_elastic_ip
  5558. calls associate_address on the client
  5559. accepts elastic ip address objects
  5560. accepts allocation ids for vpc instances
  5561. accepts allocation ids for vpc instances
  5562. #ip_address=
  5563. should be an alias of associate_elastic_ip
  5564. #disassociate_elastic_ip_address
  5565. calls disassociate on its elastic ip
  5566. raises an exception when it does not have an elastic ip
  5567. caching
  5568. populated from run_instances
  5569. should return a hash if the instance ID is found
  5570. should return nil if no instance IDs match
  5571. populated from describe_instance_attribute
  5572. should return nil if the instance ID does not match
  5573. populated from describe_instances
  5574. should return a hash if the instance ID is found
  5575. should return nil if no instance IDs match
  5576. #export
  5577. calls #create_instance_export_task on the client (PENDING: Not yet implemented)
  5578. returns a populated ExportTask object (PENDING: Not yet implemented)
  5579. calling #cancel terminates the export task (PENDING: Not yet implemented)
  5580. AWS::EC2::InternetGatewayCollection
  5581. it should behave like an ec2 model object
  5582. #initialize
  5583. should not read the client
  5584. #client
  5585. gets the client from the configuration
  5586. it should behave like ec2 collection object
  5587. it should behave like enumerable
  5588. should not read the client
  5589. #filter
  5590. returns a new collection
  5591. #each
  5592. calls the describe method
  5593. yields an instance of the member class
  5594. passes the config
  5595. should yield the right number of objects
  5596. filtered
  5597. it should behave like a filtered ec2 collection
  5598. #filter
  5599. returns a new collection
  5600. filtered enumeration
  5601. accepts multiple values for a single filter name
  5602. should be chainable
  5603. allows addding a filter name more than once
  5604. it should behave like a tagged ec2 collection
  5605. #tagged
  5606. filters by tag name
  5607. can be chained
  5608. accepts values
  5609. also accepts multiple tag names
  5610. #tagged_values
  5611. filters by tag name
  5612. can be chained
  5613. accepts values
  5614. also accepts multiple tag names
  5615. it should behave like ec2 collection array access
  5616. #[]
  5617. returns an object of the member class
  5618. returns an object with the correct config
  5619. #each
  5620. yields internet gateways
  5621. #[]
  5622. returns an internet gateway with the correct config
  5623. #create
  5624. calls #create_internet_gateway on the client
  5625. returns an internet gateway
  5626. AWS::EC2::InternetGateway
  5627. it should behave like an ec2 resource object
  5628. it should behave like an ec2 model object
  5629. #initialize
  5630. should not read the client
  5631. #client
  5632. gets the client from the configuration
  5633. #inspect
  5634. should include the ID
  5635. it should behave like ec2 resource equality method
  5636. #==
  5637. same class
  5638. should return true if the IDs match
  5639. should return false if the IDs do not match
  5640. different class
  5641. should return false
  5642. it should behave like ec2 resource equality method
  5643. #eql?
  5644. same class
  5645. should return true if the IDs match
  5646. should return false if the IDs do not match
  5647. different class
  5648. should return false
  5649. #internet_gateway_id
  5650. returns the internet gateway id passed in
  5651. is aliased as #id
  5652. #attach
  5653. calls #attach_internet_gateway on the client
  5654. accepts vpc objects
  5655. #detach
  5656. calls #detach_internet_gateway on the client
  5657. accepts vpc objects
  5658. #delete
  5659. calls #delete_internet_gateway on the client
  5660. existing gateways
  5661. #vpc
  5662. returns the vpc
  5663. #vpc=
  5664. attaches the gateway after detaching the previous vpc
  5665. #attachments
  5666. returns an array of attachments
  5667. calls detach when you delete an attahcment
  5668. #exists?
  5669. calls #describe_internet_gateways to determine if it exists
  5670. returns true if it can be described
  5671. returns false if an error is raised trying to describe it
  5672. AWS::EC2::KeyPairCollection
  5673. it should behave like an ec2 model object
  5674. #initialize
  5675. should not read the client
  5676. #client
  5677. gets the client from the configuration
  5678. it should behave like ec2 collection object
  5679. it should behave like enumerable
  5680. should not read the client
  5681. #filter
  5682. returns a new collection
  5683. #each
  5684. calls the describe method
  5685. yields an instance of the member class
  5686. passes the config
  5687. should yield the right number of objects
  5688. filtered
  5689. it should behave like a filtered ec2 collection
  5690. #filter
  5691. returns a new collection
  5692. filtered enumeration
  5693. accepts multiple values for a single filter name
  5694. should be chainable
  5695. allows addding a filter name more than once
  5696. it should behave like ec2 collection array access
  5697. #[]
  5698. returns an object of the member class
  5699. returns an object with the correct config
  5700. #create
  5701. calls create_key_pair on the client
  5702. returns a key pair
  5703. returns a key pair with the correct name
  5704. returns a key pair with the correct fingerprint
  5705. returns a key pair with the correct private key
  5706. #import
  5707. calls import_key_pair on the client
  5708. returns a key pair
  5709. returns a key pair with the correct name
  5710. returns a key pair with the correct fingerprint
  5711. #each
  5712. passes names
  5713. passes fingerprint
  5714. AWS::EC2::KeyPair
  5715. it should behave like an ec2 resource object
  5716. it should behave like an ec2 model object
  5717. #initialize
  5718. should not read the client
  5719. #client
  5720. gets the client from the configuration
  5721. #inspect
  5722. should include the ID
  5723. it should behave like ec2 resource equality method
  5724. #==
  5725. same class
  5726. should return true if the IDs match
  5727. should return false if the IDs do not match
  5728. different class
  5729. should return false
  5730. it should behave like ec2 resource equality method
  5731. #eql?
  5732. same class
  5733. should return true if the IDs match
  5734. should return false if the IDs do not match
  5735. different class
  5736. should return false
  5737. #name
  5738. returns the name it was constructed with
  5739. stringifies the name
  5740. #exists?
  5741. it should behave like ec2 resource exists method
  5742. #exists?
  5743. should call describe_volumes
  5744. should return false when the resource does not exist
  5745. should return true when the resource exists
  5746. #fingerprint
  5747. returns the fingerprint
  5748. populate from create_key_pair
  5749. should not populate if the key name does not match
  5750. should populate the key fingerprint
  5751. populate from import_key_pair
  5752. should not populate if the key name does not match
  5753. should populate the key fingerprint
  5754. #private_key
  5755. returns the private key
  5756. raises an exception on keys not initialized with private key
  5757. #delete
  5758. calls delete_key_pair on the client
  5759. AWS::EC2::NetworkACLCollection
  5760. it should behave like an ec2 model object
  5761. #initialize
  5762. should not read the client
  5763. #client
  5764. gets the client from the configuration
  5765. it should behave like ec2 collection object
  5766. it should behave like enumerable
  5767. should not read the client
  5768. #filter
  5769. returns a new collection
  5770. #each
  5771. calls the describe method
  5772. yields an instance of the member class
  5773. passes the config
  5774. should yield the right number of objects
  5775. filtered
  5776. it should behave like a filtered ec2 collection
  5777. #filter
  5778. returns a new collection
  5779. filtered enumeration
  5780. accepts multiple values for a single filter name
  5781. should be chainable
  5782. allows addding a filter name more than once
  5783. it should behave like a tagged ec2 collection
  5784. #tagged
  5785. filters by tag name
  5786. can be chained
  5787. accepts values
  5788. also accepts multiple tag names
  5789. #tagged_values
  5790. filters by tag name
  5791. can be chained
  5792. accepts values
  5793. also accepts multiple tag names
  5794. it should behave like ec2 collection array access
  5795. #[]
  5796. returns an object of the member class
  5797. returns an object with the correct config
  5798. #each
  5799. yields populated vpcs
  5800. #[]
  5801. returns a network acl with the correct config
  5802. #create
  5803. calls #create_network_acl on the client
  5804. accepts a vpc object
  5805. defaults to the vpc it owns when present
  5806. AWS::EC2::NetworkACL
  5807. it should behave like an ec2 resource object
  5808. it should behave like an ec2 model object
  5809. #initialize
  5810. should not read the client
  5811. #client
  5812. gets the client from the configuration
  5813. #inspect
  5814. should include the ID
  5815. it should behave like ec2 resource equality method
  5816. #==
  5817. same class
  5818. should return true if the IDs match
  5819. should return false if the IDs do not match
  5820. different class
  5821. should return false
  5822. it should behave like ec2 resource equality method
  5823. #eql?
  5824. same class
  5825. should return true if the IDs match
  5826. should return false if the IDs do not match
  5827. different class
  5828. should return false
  5829. #network_acl_id
  5830. returns the network acl id passed in
  5831. is aliased as #id
  5832. #create_entry
  5833. calls create entry on the client
  5834. accpets icmp codes and types
  5835. raises an error if I omit :egress
  5836. #replace_entry
  5837. calls replace entry on the client
  5838. #delete_entry
  5839. can be used to delete ingress entries
  5840. can be used to delete egress entries
  5841. #delete
  5842. calls delete on the client
  5843. attributes
  5844. #vpc_id
  5845. returns the vpc id of the network acl
  5846. #default?
  5847. returns the default attribute as a boolean
  5848. returns the default attribute as a boolean
  5849. #entries
  5850. returns an array of entries
  5851. returns populated entries
  5852. #associations
  5853. returns an array of associations
  5854. returns populated associations
  5855. is used for yielding subnets
  5856. AWS::EC2::NetworkInterfaceCollection
  5857. it should behave like an ec2 model object
  5858. #initialize
  5859. should not read the client
  5860. #client
  5861. gets the client from the configuration
  5862. it should behave like ec2 collection object
  5863. it should behave like enumerable
  5864. should not read the client
  5865. #filter
  5866. returns a new collection
  5867. #each
  5868. calls the describe method
  5869. yields an instance of the member class
  5870. passes the config
  5871. should yield the right number of objects
  5872. filtered
  5873. it should behave like a filtered ec2 collection
  5874. #filter
  5875. returns a new collection
  5876. filtered enumeration
  5877. accepts multiple values for a single filter name
  5878. should be chainable
  5879. allows addding a filter name more than once
  5880. it should behave like a tagged ec2 collection
  5881. #tagged
  5882. filters by tag name
  5883. can be chained
  5884. accepts values
  5885. also accepts multiple tag names
  5886. #tagged_values
  5887. filters by tag name
  5888. can be chained
  5889. accepts values
  5890. also accepts multiple tag names
  5891. it should behave like ec2 collection array access
  5892. #[]
  5893. returns an object of the member class
  5894. returns an object with the correct config
  5895. #each
  5896. yields network interfaces
  5897. #[]
  5898. returns a network interface
  5899. #create
  5900. calls #create_network_interface on the client
  5901. accepts a subnet as a string
  5902. accpets a subnet
  5903. can get a subnet id from the collection
  5904. accepts a private ip address
  5905. accepts a description
  5906. accepts security group ids
  5907. accepts security group objects
  5908. returns a network interface
  5909. AWS::EC2::NetworkInterface
  5910. it should behave like an ec2 resource object
  5911. it should behave like an ec2 model object
  5912. #initialize
  5913. should not read the client
  5914. #client
  5915. gets the client from the configuration
  5916. #inspect
  5917. should include the ID
  5918. it should behave like ec2 resource equality method
  5919. #==
  5920. same class
  5921. should return true if the IDs match
  5922. should return false if the IDs do not match
  5923. different class
  5924. should return false
  5925. it should behave like ec2 resource equality method
  5926. #eql?
  5927. same class
  5928. should return true if the IDs match
  5929. should return false if the IDs do not match
  5930. different class
  5931. should return false
  5932. #network_interface_id
  5933. returns the route table id passed in
  5934. is aliased as #id
  5935. #vpc
  5936. returns the vpc
  5937. #subnet
  5938. returns the subnet
  5939. #attach
  5940. calls #attach_network_interface on the client
  5941. accepts instances
  5942. accepts a device index
  5943. existing network interface
  5944. #detach
  5945. raises an error if there is no attachment
  5946. calls #detach_network_interface on the client
  5947. accepts a force option
  5948. #security_groups
  5949. returns security groups
  5950. #set_security_groups
  5951. calls #modify_network_interface_attribute on the client
  5952. accepts and flattens an array of security group ids
  5953. accepts security group objects
  5954. #attachment
  5955. returns an attachment
  5956. #association
  5957. returns nil when not present
  5958. returns a hash of data when present
  5959. returns an elastic ip when present
  5960. #exists?
  5961. returns true if it can be described
  5962. returns false if an error is raised trying to describe it
  5963. #instance
  5964. returns the attachment instance
  5965. #delete
  5966. calls delete_network_interface on the client
  5967. AWS::EC2::PermissionCollection
  5968. it should behave like an ec2 model object
  5969. #initialize
  5970. should not read the client
  5971. #client
  5972. gets the client from the configuration
  5973. it should behave like enumerable
  5974. should not read the client
  5975. representing snapshot create volume permissions
  5976. it should behave like ec2 permission collection
  5977. should call the describe method
  5978. should include the user permission as a string
  5979. should not include the group permission
  5980. should report the size without the group permission
  5981. #empty?
  5982. should return true if the size is zero
  5983. should return false if the size is non-zero
  5984. it should behave like has ec2 public?/private? accessors
  5985. #public?
  5986. should call the describe method
  5987. should return true if the "all" group has access
  5988. should return false if the "all" group has no access
  5989. #private?
  5990. should call the describe method
  5991. should return false if the "all" group has access
  5992. should return true if the "all" group has no access
  5993. #public=
  5994. set to true
  5995. should call the modify method
  5996. set to false
  5997. should call modify_image_attribute
  5998. #add
  5999. should call the modify_whatever_attribute method
  6000. should do nothing if there are no arguments
  6001. #remove
  6002. should call modify_image_attribute
  6003. should do nothing if there are no arguments
  6004. #reset
  6005. should call the reset method
  6006. representing image launch permissions
  6007. it should behave like ec2 permission collection
  6008. should call the describe method
  6009. should include the user permission as a string
  6010. should not include the group permission
  6011. should report the size without the group permission
  6012. #empty?
  6013. should return true if the size is zero
  6014. should return false if the size is non-zero
  6015. it should behave like has ec2 public?/private? accessors
  6016. #public?
  6017. should call the describe method
  6018. should return true if the "all" group has access
  6019. should return false if the "all" group has no access
  6020. #private?
  6021. should call the describe method
  6022. should return false if the "all" group has access
  6023. should return true if the "all" group has no access
  6024. #public=
  6025. set to true
  6026. should call the modify method
  6027. set to false
  6028. should call modify_image_attribute
  6029. #add
  6030. should call the modify_whatever_attribute method
  6031. should do nothing if there are no arguments
  6032. #remove
  6033. should call modify_image_attribute
  6034. should do nothing if there are no arguments
  6035. #reset
  6036. should call the reset method
  6037. AWS::EC2::RegionCollection
  6038. it should behave like an ec2 model object
  6039. #initialize
  6040. should not read the client
  6041. #client
  6042. gets the client from the configuration
  6043. it should behave like ec2 collection object
  6044. it should behave like enumerable
  6045. should not read the client
  6046. #filter
  6047. returns a new collection
  6048. #each
  6049. calls the describe method
  6050. yields an instance of the member class
  6051. passes the config
  6052. should yield the right number of objects
  6053. filtered
  6054. it should behave like a filtered ec2 collection
  6055. #filter
  6056. returns a new collection
  6057. filtered enumeration
  6058. accepts multiple values for a single filter name
  6059. should be chainable
  6060. allows addding a filter name more than once
  6061. it should behave like ec2 collection array access
  6062. #[]
  6063. returns an object of the member class
  6064. returns an object with the correct config
  6065. #[]
  6066. should pass the name
  6067. AWS::EC2::Region
  6068. should respond to all the methods of EC2 except #regions
  6069. it should behave like an ec2 resource object
  6070. it should behave like an ec2 model object
  6071. #initialize
  6072. should not read the client
  6073. #client
  6074. gets the client from the configuration
  6075. #inspect
  6076. should include the ID
  6077. it should behave like ec2 resource equality method
  6078. #==
  6079. same class
  6080. should return true if the IDs match
  6081. should return false if the IDs do not match
  6082. different class
  6083. should return false
  6084. it should behave like ec2 resource equality method
  6085. #eql?
  6086. same class
  6087. should return true if the IDs match
  6088. should return false if the IDs do not match
  6089. different class
  6090. should return false
  6091. #initialize
  6092. should set the name
  6093. with :endpoint
  6094. should set the endpoint
  6095. #endpoint
  6096. it should behave like ec2 resource attribute accessor (describe call)
  6097. when returned by the service
  6098. should call the describe call
  6099. should return the translated attribute value
  6100. when not returned by the service
  6101. should return nil if the field is not set
  6102. #exists?
  6103. should call describe_regions with a filter
  6104. when it exists
  6105. should return true
  6106. when it does not exist
  6107. should return false
  6108. #instances
  6109. it should behave like ec2 regional top-level collection
  6110. should configure the regional endpoint
  6111. #security_groups
  6112. it should behave like ec2 regional top-level collection
  6113. should configure the regional endpoint
  6114. #key_pairs
  6115. it should behave like ec2 regional top-level collection
  6116. should configure the regional endpoint
  6117. #elastic_ips
  6118. it should behave like ec2 regional top-level collection
  6119. should configure the regional endpoint
  6120. #tags
  6121. it should behave like ec2 regional top-level collection
  6122. should configure the regional endpoint
  6123. #availability_zones
  6124. it should behave like ec2 regional top-level collection
  6125. should configure the regional endpoint
  6126. AWS::EC2::Request
  6127. it should behave like an authorize v2 request
  6128. #string_to_sign
  6129. first line should match the request http method
  6130. second line should match the host
  6131. third line should match the path
  6132. 4th line should be sorted encoded key/value pairs
  6133. #add_authorization!
  6134. adds a signature version param
  6135. adds a signature method param
  6136. adds a signature param
  6137. adds the access key id param
  6138. it should behave like an authorize v2 request with a session token
  6139. #add_authorization!
  6140. no configured session token
  6141. should not add the SecurityToken parameter
  6142. has a session token configured
  6143. should add the SecurityToken parameter
  6144. AWS::EC2::ReservedInstancesCollection
  6145. it should behave like an ec2 model object
  6146. #initialize
  6147. should not read the client
  6148. #client
  6149. gets the client from the configuration
  6150. it should behave like ec2 collection object
  6151. it should behave like enumerable
  6152. should not read the client
  6153. #filter
  6154. returns a new collection
  6155. #each
  6156. calls the describe method
  6157. yields an instance of the member class
  6158. passes the config
  6159. should yield the right number of objects
  6160. filtered
  6161. it should behave like a filtered ec2 collection
  6162. #filter
  6163. returns a new collection
  6164. filtered enumeration
  6165. accepts multiple values for a single filter name
  6166. should be chainable
  6167. allows addding a filter name more than once
  6168. it should behave like a tagged ec2 collection
  6169. #tagged
  6170. filters by tag name
  6171. can be chained
  6172. accepts values
  6173. also accepts multiple tag names
  6174. #tagged_values
  6175. filters by tag name
  6176. can be chained
  6177. accepts values
  6178. also accepts multiple tag names
  6179. it should behave like ec2 collection array access
  6180. #[]
  6181. returns an object of the member class
  6182. returns an object with the correct config
  6183. AWS::EC2::ReservedInstancesOfferingCollection
  6184. it should behave like an ec2 model object
  6185. #initialize
  6186. should not read the client
  6187. #client
  6188. gets the client from the configuration
  6189. it should behave like ec2 collection object
  6190. it should behave like enumerable
  6191. should not read the client
  6192. #filter
  6193. returns a new collection
  6194. #each
  6195. calls the describe method
  6196. yields an instance of the member class
  6197. passes the config
  6198. should yield the right number of objects
  6199. filtered
  6200. it should behave like a filtered ec2 collection
  6201. #filter
  6202. returns a new collection
  6203. filtered enumeration
  6204. accepts multiple values for a single filter name
  6205. should be chainable
  6206. allows addding a filter name more than once
  6207. it should behave like a tagged ec2 collection
  6208. #tagged
  6209. filters by tag name
  6210. can be chained
  6211. accepts values
  6212. also accepts multiple tag names
  6213. #tagged_values
  6214. filters by tag name
  6215. can be chained
  6216. accepts values
  6217. also accepts multiple tag names
  6218. it should behave like ec2 collection array access
  6219. #[]
  6220. returns an object of the member class
  6221. returns an object with the correct config
  6222. AWS::EC2::ReservedInstancesOffering
  6223. it should behave like an ec2 resource object
  6224. it should behave like an ec2 model object
  6225. #initialize
  6226. should not read the client
  6227. #client
  6228. gets the client from the configuration
  6229. #inspect
  6230. should include the ID
  6231. it should behave like ec2 resource equality method
  6232. #==
  6233. same class
  6234. should return true if the IDs match
  6235. should return false if the IDs do not match
  6236. different class
  6237. should return false
  6238. it should behave like ec2 resource equality method
  6239. #eql?
  6240. same class
  6241. should return true if the IDs match
  6242. should return false if the IDs do not match
  6243. different class
  6244. should return false
  6245. it should behave like a tagged ec2 item
  6246. #add_tag
  6247. adds a tag
  6248. returns a tag object
  6249. accepts an optional tag value
  6250. #clear_tags
  6251. deletes all tags with the taggable id
  6252. #tags
  6253. returns a resource tag collection
  6254. should pass the resource and config
  6255. #cached_tags
  6256. when caching is disabled
  6257. should return nil
  6258. when caching is enabled
  6259. should query describe_instances responses
  6260. should return nil if no matching instance is found
  6261. when instance data is cached
  6262. should return a hash
  6263. it should behave like it has reserved instance attributes
  6264. #instance_type
  6265. it should behave like ec2 resource attribute accessor (describe call)
  6266. when returned by the service
  6267. should call the describe call
  6268. should return the translated attribute value
  6269. when not returned by the service
  6270. should return nil if the field is not set
  6271. #availability_zone
  6272. it should behave like ec2 resource attribute accessor (describe call)
  6273. when returned by the service
  6274. should call the describe call
  6275. should return the translated attribute value
  6276. when not returned by the service
  6277. should return nil if the field is not set
  6278. #duration
  6279. it should behave like ec2 resource attribute accessor (describe call)
  6280. when returned by the service
  6281. should call the describe call
  6282. should return the translated attribute value
  6283. when not returned by the service
  6284. should return nil if the field is not set
  6285. #fixed_price
  6286. it should behave like ec2 resource attribute accessor (describe call)
  6287. when returned by the service
  6288. should call the describe call
  6289. should return the translated attribute value
  6290. when not returned by the service
  6291. should return nil if the field is not set
  6292. #usage_price
  6293. it should behave like ec2 resource attribute accessor (describe call)
  6294. when returned by the service
  6295. should call the describe call
  6296. should return the translated attribute value
  6297. when not returned by the service
  6298. should return nil if the field is not set
  6299. #product_description
  6300. it should behave like ec2 resource attribute accessor (describe call)
  6301. when returned by the service
  6302. should call the describe call
  6303. should return the translated attribute value
  6304. when not returned by the service
  6305. should return nil if the field is not set
  6306. #instance_tenancy
  6307. it should behave like ec2 resource attribute accessor (describe call)
  6308. when returned by the service
  6309. should call the describe call
  6310. should return the translated attribute value
  6311. when not returned by the service
  6312. should return nil if the field is not set
  6313. #currency_code
  6314. it should behave like ec2 resource attribute accessor (describe call)
  6315. when returned by the service
  6316. should call the describe call
  6317. should return the translated attribute value
  6318. when not returned by the service
  6319. should return nil if the field is not set
  6320. #purchase
  6321. calls purchase_reserved_instances_offering on the client
  6322. defaults instance_count to 1
  6323. accepts instance_count
  6324. returns a reserved instance
  6325. returns a reserved instance with the correct id
  6326. returns a reserved instance with the correct config
  6327. AWS::EC2::ReservedInstances
  6328. it should behave like an ec2 resource object
  6329. it should behave like an ec2 model object
  6330. #initialize
  6331. should not read the client
  6332. #client
  6333. gets the client from the configuration
  6334. #inspect
  6335. should include the ID
  6336. it should behave like ec2 resource equality method
  6337. #==
  6338. same class
  6339. should return true if the IDs match
  6340. should return false if the IDs do not match
  6341. different class
  6342. should return false
  6343. it should behave like ec2 resource equality method
  6344. #eql?
  6345. same class
  6346. should return true if the IDs match
  6347. should return false if the IDs do not match
  6348. different class
  6349. should return false
  6350. it should behave like a tagged ec2 item
  6351. #add_tag
  6352. adds a tag
  6353. returns a tag object
  6354. accepts an optional tag value
  6355. #clear_tags
  6356. deletes all tags with the taggable id
  6357. #tags
  6358. returns a resource tag collection
  6359. should pass the resource and config
  6360. #cached_tags
  6361. when caching is disabled
  6362. should return nil
  6363. when caching is enabled
  6364. should query describe_instances responses
  6365. should return nil if no matching instance is found
  6366. when instance data is cached
  6367. should return a hash
  6368. it should behave like it has reserved instance attributes
  6369. #instance_type
  6370. it should behave like ec2 resource attribute accessor (describe call)
  6371. when returned by the service
  6372. should call the describe call
  6373. should return the translated attribute value
  6374. when not returned by the service
  6375. should return nil if the field is not set
  6376. #availability_zone
  6377. it should behave like ec2 resource attribute accessor (describe call)
  6378. when returned by the service
  6379. should call the describe call
  6380. should return the translated attribute value
  6381. when not returned by the service
  6382. should return nil if the field is not set
  6383. #duration
  6384. it should behave like ec2 resource attribute accessor (describe call)
  6385. when returned by the service
  6386. should call the describe call
  6387. should return the translated attribute value
  6388. when not returned by the service
  6389. should return nil if the field is not set
  6390. #fixed_price
  6391. it should behave like ec2 resource attribute accessor (describe call)
  6392. when returned by the service
  6393. should call the describe call
  6394. should return the translated attribute value
  6395. when not returned by the service
  6396. should return nil if the field is not set
  6397. #usage_price
  6398. it should behave like ec2 resource attribute accessor (describe call)
  6399. when returned by the service
  6400. should call the describe call
  6401. should return the translated attribute value
  6402. when not returned by the service
  6403. should return nil if the field is not set
  6404. #product_description
  6405. it should behave like ec2 resource attribute accessor (describe call)
  6406. when returned by the service
  6407. should call the describe call
  6408. should return the translated attribute value
  6409. when not returned by the service
  6410. should return nil if the field is not set
  6411. #instance_tenancy
  6412. it should behave like ec2 resource attribute accessor (describe call)
  6413. when returned by the service
  6414. should call the describe call
  6415. should return the translated attribute value
  6416. when not returned by the service
  6417. should return nil if the field is not set
  6418. #currency_code
  6419. it should behave like ec2 resource attribute accessor (describe call)
  6420. when returned by the service
  6421. should call the describe call
  6422. should return the translated attribute value
  6423. when not returned by the service
  6424. should return nil if the field is not set
  6425. #start
  6426. it should behave like ec2 resource attribute accessor (describe call)
  6427. when returned by the service
  6428. should call the describe call
  6429. should return the translated attribute value
  6430. when not returned by the service
  6431. should return nil if the field is not set
  6432. #instance_count
  6433. it should behave like ec2 resource attribute accessor (describe call)
  6434. when returned by the service
  6435. should call the describe call
  6436. should return the translated attribute value
  6437. when not returned by the service
  6438. should return nil if the field is not set
  6439. AWS::EC2::ResourceTagCollection
  6440. it should behave like an ec2 model object
  6441. #initialize
  6442. should not read the client
  6443. #client
  6444. gets the client from the configuration
  6445. it should behave like enumerable
  6446. should not read the client
  6447. #[]
  6448. should call describe_tags
  6449. should return the tag value
  6450. accepts method missing calls that proxy to #[]
  6451. should accept a symbol
  6452. should return nil if the tag does not exist
  6453. tags are cached
  6454. should return the cached value for the key
  6455. should work for symbol keys
  6456. should return nil if the tag does not have a value
  6457. existence tests
  6458. tag exists
  6459. #empty?
  6460. should call describe_tags
  6461. should be false
  6462. #has_key?
  6463. should call describe_tags
  6464. should accept a symbol
  6465. should be true
  6466. #has_value?
  6467. should call describe_tags
  6468. should be true
  6469. tag does not exist
  6470. #empty?
  6471. should be true
  6472. #has_key?
  6473. should be false
  6474. #has_value?
  6475. should be false
  6476. resource has cached tags
  6477. should be empty if the cache is empty
  6478. should use the cached keys
  6479. should use the cached values
  6480. #[]=
  6481. should call create_tags
  6482. should accept a symbol key
  6483. should delete the tag when a nil value is assigned
  6484. #add
  6485. should call create_tags
  6486. should accept a symbol
  6487. #set
  6488. should call create_tags
  6489. should accept symbol keys
  6490. #method_missing
  6491. setter methods
  6492. calls #[]= with the method name
  6493. #delete
  6494. should call delete_tags
  6495. should accept symbols
  6496. should do nothing with no arguments
  6497. #clear
  6498. should call delete_tags
  6499. enumeration methods
  6500. #each
  6501. should yield pairs to a arity-1 block
  6502. should yield keys and values to a arity-2 block
  6503. #values_at
  6504. should filter by keys and resources
  6505. should accept symbols
  6506. should return the values in an array
  6507. should return values in the right order
  6508. should return nil for values that do not exist
  6509. #to_h
  6510. should return keys mapped to values
  6511. resource has cached tags
  6512. #each
  6513. should iterate over the cached tags
  6514. #values_at
  6515. should fetch values from the cached hash
  6516. should work for symbol keys
  6517. #to_h
  6518. should return the cached tags
  6519. AWS::EC2::RouteTableCollection
  6520. it should behave like an ec2 model object
  6521. #initialize
  6522. should not read the client
  6523. #client
  6524. gets the client from the configuration
  6525. it should behave like ec2 collection object
  6526. it should behave like enumerable
  6527. should not read the client
  6528. #filter
  6529. returns a new collection
  6530. #each
  6531. calls the describe method
  6532. yields an instance of the member class
  6533. passes the config
  6534. should yield the right number of objects
  6535. filtered
  6536. it should behave like a filtered ec2 collection
  6537. #filter
  6538. returns a new collection
  6539. filtered enumeration
  6540. accepts multiple values for a single filter name
  6541. should be chainable
  6542. allows addding a filter name more than once
  6543. it should behave like a tagged ec2 collection
  6544. #tagged
  6545. filters by tag name
  6546. can be chained
  6547. accepts values
  6548. also accepts multiple tag names
  6549. #tagged_values
  6550. filters by tag name
  6551. can be chained
  6552. accepts values
  6553. also accepts multiple tag names
  6554. it should behave like ec2 collection array access
  6555. #[]
  6556. returns an object of the member class
  6557. returns an object with the correct config
  6558. #each
  6559. yields route tables
  6560. #[]
  6561. returns a route table correct config
  6562. #create
  6563. calls #create_route_table on the client
  6564. accepts a vpc object
  6565. populates the vpc id when chained
  6566. accpets a vpc id
  6567. example at ./spec/aws/ec2/route_table_collection_spec.rb:107
  6568. AWS::EC2::RouteTable
  6569. it should behave like an ec2 resource object
  6570. it should behave like an ec2 model object
  6571. #initialize
  6572. should not read the client
  6573. #client
  6574. gets the client from the configuration
  6575. #inspect
  6576. should include the ID
  6577. it should behave like ec2 resource equality method
  6578. #==
  6579. same class
  6580. should return true if the IDs match
  6581. should return false if the IDs do not match
  6582. different class
  6583. should return false
  6584. it should behave like ec2 resource equality method
  6585. #eql?
  6586. same class
  6587. should return true if the IDs match
  6588. should return false if the IDs do not match
  6589. different class
  6590. should return false
  6591. it should behave like a tagged ec2 item
  6592. #add_tag
  6593. adds a tag
  6594. returns a tag object
  6595. accepts an optional tag value
  6596. #clear_tags
  6597. deletes all tags with the taggable id
  6598. #tags
  6599. returns a resource tag collection
  6600. should pass the resource and config
  6601. #cached_tags
  6602. when caching is disabled
  6603. should return nil
  6604. when caching is enabled
  6605. should query describe_instances responses
  6606. should return nil if no matching instance is found
  6607. when instance data is cached
  6608. should return a hash
  6609. #route_table_id
  6610. returns the route table id passed in
  6611. is aliased as #id
  6612. #vpc
  6613. returns the vpc
  6614. #create_route
  6615. calls #create_route on the client
  6616. accpets objects instead of id strings
  6617. #replace_route
  6618. calls #replace_route on the client
  6619. accpets objects instead of id strings
  6620. #delete_route
  6621. calls #delete_route on the client
  6622. #delete
  6623. calls #delete_route_table on the client
  6624. exisitng route tables
  6625. #vpc
  6626. #vpc returns the vpc
  6627. #main?
  6628. returns true if it has an association without a subnet
  6629. returns false if all of its associations have a subnet
  6630. #subnets
  6631. collects subnets from its associations
  6632. #routes
  6633. returns an array of route objects
  6634. AWS::EC2::SecurityGroup::EgressIpPermissionCollection
  6635. it should behave like an ec2 model object
  6636. #initialize
  6637. should not read the client
  6638. #client
  6639. gets the client from the configuration
  6640. it should behave like enumerable
  6641. should not read the client
  6642. #initialize
  6643. should set the group
  6644. #each
  6645. yields IpPermission objects
  6646. passes the config
  6647. yielded permissions should all be egress
  6648. should yield the right number of objects
  6649. should populate the correct information
  6650. AWS::EC2::SecurityGroup::IngressIpPermissionCollection
  6651. it should behave like an ec2 model object
  6652. #initialize
  6653. should not read the client
  6654. #client
  6655. gets the client from the configuration
  6656. it should behave like enumerable
  6657. should not read the client
  6658. #initialize
  6659. should set the group
  6660. #each
  6661. yields IpPermission objects
  6662. yielded permissions should all be ingress
  6663. passes the config
  6664. should yield the right number of objects
  6665. should populate the correct information
  6666. vpc security group without ports
  6667. should accept a permission without port ranges
  6668. AWS::EC2::SecurityGroup::IpPermission
  6669. it should behave like an ec2 model object
  6670. #initialize
  6671. should not read the client
  6672. #client
  6673. gets the client from the configuration
  6674. #security_group
  6675. should return the correct security group
  6676. #protocol
  6677. returns the protocol
  6678. is the lowercase symbolized version of what is passed
  6679. converts -1 to :any
  6680. #port_range
  6681. converts integers into a range
  6682. converts arrays into ranges
  6683. accepts ranges
  6684. accepts nil
  6685. #ip_ranges
  6686. defaults to []
  6687. returns whatever it received as an array
  6688. #groups
  6689. defaults to []
  6690. returns whatever it received as an array
  6691. #egress?
  6692. defaults to false
  6693. can be set to true
  6694. #authorize
  6695. calls authorize_security_group_ingress
  6696. #revoke
  6697. calls revoke_security_group_ingress
  6698. AWS::EC2::SecurityGroupCollection
  6699. it should behave like an ec2 model object
  6700. #initialize
  6701. should not read the client
  6702. #client
  6703. gets the client from the configuration
  6704. it should behave like ec2 collection object
  6705. it should behave like enumerable
  6706. should not read the client
  6707. #filter
  6708. returns a new collection
  6709. #each
  6710. calls the describe method
  6711. yields an instance of the member class
  6712. passes the config
  6713. should yield the right number of objects
  6714. filtered
  6715. it should behave like a filtered ec2 collection
  6716. #filter
  6717. returns a new collection
  6718. filtered enumeration
  6719. accepts multiple values for a single filter name
  6720. should be chainable
  6721. allows addding a filter name more than once
  6722. it should behave like a tagged ec2 collection
  6723. #tagged
  6724. filters by tag name
  6725. can be chained
  6726. accepts values
  6727. also accepts multiple tag names
  6728. #tagged_values
  6729. filters by tag name
  6730. can be chained
  6731. accepts values
  6732. also accepts multiple tag names
  6733. it should behave like ec2 collection array access
  6734. #[]
  6735. returns an object of the member class
  6736. returns an object with the correct config
  6737. #create
  6738. should return a new security group
  6739. shoud return a security group with the correct name
  6740. shoud return a security group with the correct description
  6741. shoud return a security group with the correct config
  6742. should call create_security_group with the correct options
  6743. AWS::EC2::SecurityGroup
  6744. it should behave like an ec2 resource object
  6745. it should behave like an ec2 model object
  6746. #initialize
  6747. should not read the client
  6748. #client
  6749. gets the client from the configuration
  6750. #inspect
  6751. should include the ID
  6752. it should behave like ec2 resource equality method
  6753. #==
  6754. same class
  6755. should return true if the IDs match
  6756. should return false if the IDs do not match
  6757. different class
  6758. should return false
  6759. it should behave like ec2 resource equality method
  6760. #eql?
  6761. same class
  6762. should return true if the IDs match
  6763. should return false if the IDs do not match
  6764. different class
  6765. should return false
  6766. it should behave like a tagged ec2 item
  6767. #add_tag
  6768. adds a tag
  6769. returns a tag object
  6770. accepts an optional tag value
  6771. #clear_tags
  6772. deletes all tags with the taggable id
  6773. #tags
  6774. returns a resource tag collection
  6775. should pass the resource and config
  6776. #cached_tags
  6777. when caching is disabled
  6778. should return nil
  6779. when caching is enabled
  6780. should query describe_instances responses
  6781. should return nil if no matching instance is found
  6782. when instance data is cached
  6783. should return a hash
  6784. #exists?
  6785. it should behave like ec2 resource exists method
  6786. #exists?
  6787. should call describe_volumes
  6788. should return false when the resource does not exist
  6789. should return true when the resource exists
  6790. #name
  6791. returns the name it was constructed with
  6792. calls describe_security_groups to get the name
  6793. raises an error when the security group cant be found
  6794. #owner_id
  6795. returns the owner_id it was constructed with
  6796. calls describe_security_groups to get the owner_id
  6797. raises an error when the security group cant be found
  6798. #description
  6799. returns the description it was constructed with
  6800. calls describe_security_groups to get the desc when missing
  6801. raises an error when the security group cant be found
  6802. #authorize_ingress
  6803. behaves like security group ingress method
  6804. accepts ranges for ports and defaults ip ranges to 0.0.0.0/0
  6805. donwcases protocols and accepts ports as arrays
  6806. accepts ip ranges as strings
  6807. accepts groups
  6808. accepts group hashes
  6809. #revoke_ingress
  6810. behaves like security group ingress method
  6811. accepts ranges for ports and defaults ip ranges to 0.0.0.0/0
  6812. donwcases protocols and accepts ports as arrays
  6813. accepts ip ranges as strings
  6814. accepts groups
  6815. accepts group hashes
  6816. #authorize_egress
  6817. behaves like security group egress method
  6818. returns a vpc
  6819. accepts ranges for ports and defaults ip ranges to 0.0.0.0/0
  6820. donwcases protocols and accepts ports as arrays
  6821. accepts ip ranges as strings
  6822. accepts groups
  6823. accepts group hashes with a group_id
  6824. accepts group hashes with a group_name
  6825. accepts group hashes with a group_id and user_id
  6826. accepts group hashes with a group_name and user_id
  6827. raises an error for missing group
  6828. raises an error for unknown group keys
  6829. accepts a load balancer
  6830. #revoke_egress
  6831. behaves like security group egress method
  6832. returns a vpc
  6833. accepts ranges for ports and defaults ip ranges to 0.0.0.0/0
  6834. donwcases protocols and accepts ports as arrays
  6835. accepts ip ranges as strings
  6836. accepts groups
  6837. accepts group hashes with a group_id
  6838. accepts group hashes with a group_name
  6839. accepts group hashes with a group_id and user_id
  6840. accepts group hashes with a group_name and user_id
  6841. raises an error for missing group
  6842. raises an error for unknown group keys
  6843. accepts a load balancer
  6844. #allow_ping
  6845. behaves like security group ping method
  6846. calls the client
  6847. should call authorize ingress pings for ip ranges
  6848. #disallow_ping
  6849. behaves like security group ping method
  6850. calls the client
  6851. should call authorize ingress pings for ip ranges
  6852. #ip_permissions_list
  6853. it should behave like ec2 resource attribute accessor (describe call)
  6854. when returned by the service
  6855. should call the describe call
  6856. should return the translated attribute value
  6857. when not returned by the service
  6858. should return nil if the field is not set
  6859. #ip_permissions
  6860. should return an ip permission collection
  6861. #delete
  6862. calls #delete_security_group on the client with the correct id
  6863. AWS::EC2::SnapshotCollection
  6864. it should behave like an ec2 model object
  6865. #initialize
  6866. should not read the client
  6867. #client
  6868. gets the client from the configuration
  6869. it should behave like ec2 collection object
  6870. it should behave like enumerable
  6871. should not read the client
  6872. #filter
  6873. returns a new collection
  6874. #each
  6875. calls the describe method
  6876. yields an instance of the member class
  6877. passes the config
  6878. should yield the right number of objects
  6879. filtered
  6880. it should behave like a filtered ec2 collection
  6881. #filter
  6882. returns a new collection
  6883. filtered enumeration
  6884. accepts multiple values for a single filter name
  6885. should be chainable
  6886. allows addding a filter name more than once
  6887. it should behave like a tagged ec2 collection
  6888. #tagged
  6889. filters by tag name
  6890. can be chained
  6891. accepts values
  6892. also accepts multiple tag names
  6893. #tagged_values
  6894. filters by tag name
  6895. can be chained
  6896. accepts values
  6897. also accepts multiple tag names
  6898. #with_owner
  6899. should filter by passing the Owner.n parameter
  6900. should accept symbol values
  6901. should preserve filters
  6902. should survive filtering
  6903. #restorable_by
  6904. should filter by passing the ExecutableBy.n parameter
  6905. should accept symbol values
  6906. should preserve filters
  6907. should survive filtering
  6908. #[]
  6909. should pass the id
  6910. #create
  6911. should call create_snapshot
  6912. should pass :volume_id from :volume
  6913. should return a snapshot object
  6914. should pass the id
  6915. should pass the config
  6916. AWS::EC2::Snapshot
  6917. it should behave like an ec2 resource object
  6918. it should behave like an ec2 model object
  6919. #initialize
  6920. should not read the client
  6921. #client
  6922. gets the client from the configuration
  6923. #inspect
  6924. should include the ID
  6925. it should behave like ec2 resource equality method
  6926. #==
  6927. same class
  6928. should return true if the IDs match
  6929. should return false if the IDs do not match
  6930. different class
  6931. should return false
  6932. it should behave like ec2 resource equality method
  6933. #eql?
  6934. same class
  6935. should return true if the IDs match
  6936. should return false if the IDs do not match
  6937. different class
  6938. should return false
  6939. it should behave like a tagged ec2 item
  6940. #add_tag
  6941. adds a tag
  6942. returns a tag object
  6943. accepts an optional tag value
  6944. #clear_tags
  6945. deletes all tags with the taggable id
  6946. #tags
  6947. returns a resource tag collection
  6948. should pass the resource and config
  6949. #cached_tags
  6950. when caching is disabled
  6951. should return nil
  6952. when caching is enabled
  6953. should query describe_instances responses
  6954. should return nil if no matching instance is found
  6955. when instance data is cached
  6956. should return a hash
  6957. #initialize
  6958. should set the snapshot id
  6959. #delete
  6960. should call delete_snapshot
  6961. #create_volume
  6962. should call VolumeCollection#create
  6963. should pass additional options
  6964. should return the created volume
  6965. should pass the config
  6966. #exists?
  6967. it should behave like ec2 resource exists method
  6968. #exists?
  6969. should call describe_volumes
  6970. should return false when the resource does not exist
  6971. should return true when the resource exists
  6972. attributes
  6973. #volume_id
  6974. it should behave like ec2 snapshot attribute accessor
  6975. it should behave like ec2 resource attribute accessor (describe call)
  6976. when returned by the service
  6977. should call the describe call
  6978. should return the translated attribute value
  6979. when not returned by the service
  6980. should return nil if the field is not set
  6981. populate from create_snapshot
  6982. should not populate unless the snapshot ID matches
  6983. when returned by the service
  6984. should populate the translated value
  6985. #volume
  6986. it should behave like accessor for ec2 resource
  6987. should return a resource object
  6988. should pass the id
  6989. should pass the config
  6990. should return nil if there is no id
  6991. #status
  6992. it should behave like ec2 snapshot attribute accessor
  6993. it should behave like ec2 resource attribute accessor (describe call)
  6994. when returned by the service
  6995. should call the describe call
  6996. should return the translated attribute value
  6997. when not returned by the service
  6998. should return nil if the field is not set
  6999. populate from create_snapshot
  7000. should not populate unless the snapshot ID matches
  7001. when returned by the service
  7002. should populate the translated value
  7003. #start_time
  7004. it should behave like ec2 snapshot attribute accessor
  7005. it should behave like ec2 resource attribute accessor (describe call)
  7006. when returned by the service
  7007. should call the describe call
  7008. should return the translated attribute value
  7009. when not returned by the service
  7010. should return nil if the field is not set
  7011. populate from create_snapshot
  7012. should not populate unless the snapshot ID matches
  7013. when returned by the service
  7014. should populate the translated value
  7015. #progress
  7016. it should behave like ec2 snapshot attribute accessor
  7017. it should behave like ec2 resource attribute accessor (describe call)
  7018. when returned by the service
  7019. should call the describe call
  7020. should return the translated attribute value
  7021. when not returned by the service
  7022. should return nil if the field is not set
  7023. populate from create_snapshot
  7024. should not populate unless the snapshot ID matches
  7025. when returned by the service
  7026. should populate the translated value
  7027. #owner_id
  7028. it should behave like ec2 snapshot attribute accessor
  7029. it should behave like ec2 resource attribute accessor (describe call)
  7030. when returned by the service
  7031. should call the describe call
  7032. should return the translated attribute value
  7033. when not returned by the service
  7034. should return nil if the field is not set
  7035. populate from create_snapshot
  7036. should not populate unless the snapshot ID matches
  7037. when returned by the service
  7038. should populate the translated value
  7039. #volume_size
  7040. it should behave like ec2 snapshot attribute accessor
  7041. it should behave like ec2 resource attribute accessor (describe call)
  7042. when returned by the service
  7043. should call the describe call
  7044. should return the translated attribute value
  7045. when not returned by the service
  7046. should return nil if the field is not set
  7047. populate from create_snapshot
  7048. should not populate unless the snapshot ID matches
  7049. when returned by the service
  7050. should populate the translated value
  7051. #owner_alias
  7052. it should behave like ec2 snapshot attribute accessor
  7053. it should behave like ec2 resource attribute accessor (describe call)
  7054. when returned by the service
  7055. should call the describe call
  7056. should return the translated attribute value
  7057. when not returned by the service
  7058. should return nil if the field is not set
  7059. populate from create_snapshot
  7060. should not populate unless the snapshot ID matches
  7061. when returned by the service
  7062. should populate the translated value
  7063. #description
  7064. it should behave like ec2 snapshot attribute accessor
  7065. it should behave like ec2 resource attribute accessor (describe call)
  7066. when returned by the service
  7067. should call the describe call
  7068. should return the translated attribute value
  7069. when not returned by the service
  7070. should return nil if the field is not set
  7071. populate from create_snapshot
  7072. should not populate unless the snapshot ID matches
  7073. when returned by the service
  7074. should populate the translated value
  7075. it should behave like has ec2 public?/private? accessors
  7076. #public?
  7077. should call the describe method
  7078. should return true if the "all" group has access
  7079. should return false if the "all" group has no access
  7080. #private?
  7081. should call the describe method
  7082. should return false if the "all" group has access
  7083. should return true if the "all" group has no access
  7084. #public=
  7085. set to true
  7086. should call the modify method
  7087. set to false
  7088. should call modify_image_attribute
  7089. #create_volume_permissions
  7090. should return a permissions collection
  7091. should pass the snapshot and config
  7092. AWS::EC2::SubnetCollection
  7093. it should behave like an ec2 model object
  7094. #initialize
  7095. should not read the client
  7096. #client
  7097. gets the client from the configuration
  7098. it should behave like ec2 collection object
  7099. it should behave like enumerable
  7100. should not read the client
  7101. #filter
  7102. returns a new collection
  7103. #each
  7104. calls the describe method
  7105. yields an instance of the member class
  7106. passes the config
  7107. should yield the right number of objects
  7108. filtered
  7109. it should behave like a filtered ec2 collection
  7110. #filter
  7111. returns a new collection
  7112. filtered enumeration
  7113. accepts multiple values for a single filter name
  7114. should be chainable
  7115. allows addding a filter name more than once
  7116. it should behave like a tagged ec2 collection
  7117. #tagged
  7118. filters by tag name
  7119. can be chained
  7120. accepts values
  7121. also accepts multiple tag names
  7122. #tagged_values
  7123. filters by tag name
  7124. can be chained
  7125. accepts values
  7126. also accepts multiple tag names
  7127. it should behave like ec2 collection array access
  7128. #[]
  7129. returns an object of the member class
  7130. returns an object with the correct config
  7131. #each
  7132. yields populated subnets
  7133. #[]
  7134. returns a subnet with the correct config
  7135. #create
  7136. calls #create_subnet on the client
  7137. accepts a vpc id as a string
  7138. provides the vpc when present in the collection
  7139. accepts an availability zone name
  7140. accepts an availability zone
  7141. returns a populated subnet
  7142. AWS::EC2::Subnet
  7143. it should behave like an ec2 resource object
  7144. it should behave like an ec2 model object
  7145. #initialize
  7146. should not read the client
  7147. #client
  7148. gets the client from the configuration
  7149. #inspect
  7150. should include the ID
  7151. it should behave like ec2 resource equality method
  7152. #==
  7153. same class
  7154. should return true if the IDs match
  7155. should return false if the IDs do not match
  7156. different class
  7157. should return false
  7158. it should behave like ec2 resource equality method
  7159. #eql?
  7160. same class
  7161. should return true if the IDs match
  7162. should return false if the IDs do not match
  7163. different class
  7164. should return false
  7165. #subnet_id
  7166. returns the id passed in
  7167. is aliased as #id
  7168. #delete
  7169. calls #delete_subnet on the client
  7170. returns nil
  7171. subnet attributes
  7172. #vpc_id
  7173. returns the vpc id passed in
  7174. calls describe_subnets when not passed in
  7175. #vpc
  7176. returns the vpc passed in
  7177. calls describe_subnets when not passed in
  7178. #state
  7179. is returned as a symbol
  7180. #cidr_block
  7181. is returned as a string
  7182. #available_ip_address_count
  7183. is returned as an integer
  7184. #availability_zone_name
  7185. is returned as a string
  7186. route table
  7187. getting the route table
  7188. describes route tables and finds itself
  7189. returns the default route table if there is no association
  7190. setting the route table
  7191. a subnet without a route table association
  7192. calls #associate_route_table on the client
  7193. a subnet with an existing route table association
  7194. calls #replace_route_table_association on the client
  7195. AWS::EC2::TagCollection
  7196. it should behave like an ec2 model object
  7197. #initialize
  7198. should not read the client
  7199. #client
  7200. gets the client from the configuration
  7201. it should behave like ec2 collection object
  7202. it should behave like enumerable
  7203. should not read the client
  7204. #filter
  7205. returns a new collection
  7206. #each
  7207. calls the describe method
  7208. yields an instance of the member class
  7209. passes the config
  7210. should yield the right number of objects
  7211. filtered
  7212. it should behave like a filtered ec2 collection
  7213. #filter
  7214. returns a new collection
  7215. filtered enumeration
  7216. accepts multiple values for a single filter name
  7217. should be chainable
  7218. allows addding a filter name more than once
  7219. #create
  7220. calls create_tags on the client
  7221. returns a Tag object
  7222. #each
  7223. populate tag keys
  7224. returns security-group resources properly
  7225. returns instance resources properly
  7226. returns image resources properly
  7227. returns other modeled resource types properly
  7228. returns other un-modeled resource types properly
  7229. AWS::EC2::Tag
  7230. it should behave like an ec2 model object
  7231. #initialize
  7232. should not read the client
  7233. #client
  7234. gets the client from the configuration
  7235. #resource
  7236. returns the resource
  7237. #key
  7238. returns the key it was constructed with
  7239. stringifies the key
  7240. #name
  7241. is an alias of key
  7242. #value
  7243. populated from describe_tags
  7244. when the tag is not returned in the response
  7245. should return nil
  7246. when the tag is included in the response
  7247. should return the value from the response object
  7248. requested from describe_tags
  7249. should use retrieve_attribute
  7250. client request
  7251. should call describe_tags
  7252. should filter by key
  7253. should filter by resource type
  7254. should filter by resource id
  7255. #delete
  7256. calls delete_tags on the client
  7257. accepts an optional value argument
  7258. #inspect
  7259. should include the resource type, resource ID, and key
  7260. #local_cache_key
  7261. should include the class name, resource type, resource ID, and key
  7262. AWS::EC2::VolumeCollection
  7263. it should behave like an ec2 model object
  7264. #initialize
  7265. should not read the client
  7266. #client
  7267. gets the client from the configuration
  7268. it should behave like ec2 collection object
  7269. it should behave like enumerable
  7270. should not read the client
  7271. #filter
  7272. returns a new collection
  7273. #each
  7274. calls the describe method
  7275. yields an instance of the member class
  7276. passes the config
  7277. should yield the right number of objects
  7278. filtered
  7279. it should behave like a filtered ec2 collection
  7280. #filter
  7281. returns a new collection
  7282. filtered enumeration
  7283. accepts multiple values for a single filter name
  7284. should be chainable
  7285. allows addding a filter name more than once
  7286. it should behave like a tagged ec2 collection
  7287. #tagged
  7288. filters by tag name
  7289. can be chained
  7290. accepts values
  7291. also accepts multiple tag names
  7292. #tagged_values
  7293. filters by tag name
  7294. can be chained
  7295. accepts values
  7296. also accepts multiple tag names
  7297. it should behave like ec2 collection array access
  7298. #[]
  7299. returns an object of the member class
  7300. returns an object with the correct config
  7301. #create
  7302. should call create_volume
  7303. should accept a snapshot for :snapshot
  7304. should return a volume object
  7305. AWS::EC2::Volume
  7306. it should behave like an ec2 resource object
  7307. it should behave like an ec2 model object
  7308. #initialize
  7309. should not read the client
  7310. #client
  7311. gets the client from the configuration
  7312. #inspect
  7313. should include the ID
  7314. it should behave like ec2 resource equality method
  7315. #==
  7316. same class
  7317. should return true if the IDs match
  7318. should return false if the IDs do not match
  7319. different class
  7320. should return false
  7321. it should behave like ec2 resource equality method
  7322. #eql?
  7323. same class
  7324. should return true if the IDs match
  7325. should return false if the IDs do not match
  7326. different class
  7327. should return false
  7328. it should behave like a tagged ec2 item
  7329. #add_tag
  7330. adds a tag
  7331. returns a tag object
  7332. accepts an optional tag value
  7333. #clear_tags
  7334. deletes all tags with the taggable id
  7335. #tags
  7336. returns a resource tag collection
  7337. should pass the resource and config
  7338. #cached_tags
  7339. when caching is disabled
  7340. should return nil
  7341. when caching is enabled
  7342. should query describe_instances responses
  7343. should return nil if no matching instance is found
  7344. when instance data is cached
  7345. should return a hash
  7346. #initialize
  7347. should set the id
  7348. #delete
  7349. should call delete_volume
  7350. #create_snapshot
  7351. should call create_snapshot
  7352. should pass the description if provided
  7353. should return a snapshot
  7354. #attach_to
  7355. should call attach_volume
  7356. it should behave like returns an attachment
  7357. should return an attachment object
  7358. should pass the instance
  7359. should pass the volume
  7360. should pass the device
  7361. should pass the config
  7362. #detach_from
  7363. should call detach_volume
  7364. it should behave like returns an attachment
  7365. should return an attachment object
  7366. should pass the instance
  7367. should pass the volume
  7368. should pass the device
  7369. should pass the config
  7370. #attachments
  7371. should return an attachment collection
  7372. should pass the volume
  7373. should pass the config
  7374. exists?
  7375. it should behave like ec2 resource exists method
  7376. #exists?
  7377. should call describe_volumes
  7378. should return false when the resource does not exist
  7379. should return true when the resource exists
  7380. #status
  7381. it should behave like ec2 volume attribute accessor
  7382. it should behave like ec2 resource attribute accessor (describe call)
  7383. when returned by the service
  7384. should call the describe call
  7385. should return the translated attribute value
  7386. when not returned by the service
  7387. should return nil if the field is not set
  7388. populated from create_volume
  7389. should not populate when the volume ID does not match
  7390. when returned by the service
  7391. should return the translated attribute value
  7392. when not returned by the service
  7393. should return nil if the field is not set
  7394. #snapshot_id
  7395. it should behave like ec2 volume attribute accessor
  7396. it should behave like ec2 resource attribute accessor (describe call)
  7397. when returned by the service
  7398. should call the describe call
  7399. should return the translated attribute value
  7400. when not returned by the service
  7401. should return nil if the field is not set
  7402. populated from create_volume
  7403. should not populate when the volume ID does not match
  7404. when returned by the service
  7405. should return the translated attribute value
  7406. when not returned by the service
  7407. should return nil if the field is not set
  7408. #snapshot
  7409. it should behave like accessor for ec2 resource
  7410. should return a resource object
  7411. should pass the id
  7412. should pass the config
  7413. should return nil if there is no id
  7414. #size
  7415. it should behave like ec2 volume attribute accessor
  7416. it should behave like ec2 resource attribute accessor (describe call)
  7417. when returned by the service
  7418. should call the describe call
  7419. should return the translated attribute value
  7420. when not returned by the service
  7421. should return nil if the field is not set
  7422. populated from create_volume
  7423. should not populate when the volume ID does not match
  7424. when returned by the service
  7425. should return the translated attribute value
  7426. when not returned by the service
  7427. should return nil if the field is not set
  7428. #create_time
  7429. it should behave like ec2 volume attribute accessor
  7430. it should behave like ec2 resource attribute accessor (describe call)
  7431. when returned by the service
  7432. should call the describe call
  7433. should return the translated attribute value
  7434. when not returned by the service
  7435. should return nil if the field is not set
  7436. populated from create_volume
  7437. should not populate when the volume ID does not match
  7438. when returned by the service
  7439. should return the translated attribute value
  7440. when not returned by the service
  7441. should return nil if the field is not set
  7442. #availability_zone_name
  7443. it should behave like ec2 volume attribute accessor
  7444. it should behave like ec2 resource attribute accessor (describe call)
  7445. when returned by the service
  7446. should call the describe call
  7447. should return the translated attribute value
  7448. when not returned by the service
  7449. should return nil if the field is not set
  7450. populated from create_volume
  7451. should not populate when the volume ID does not match
  7452. when returned by the service
  7453. should return the translated attribute value
  7454. when not returned by the service
  7455. should return nil if the field is not set
  7456. #availability_zone
  7457. it should behave like accessor for ec2 resource
  7458. should return a resource object
  7459. should pass the id
  7460. should pass the config
  7461. should return nil if there is no id
  7462. #attachment_set
  7463. it should behave like ec2 volume attribute accessor
  7464. it should behave like ec2 resource attribute accessor (describe call)
  7465. when returned by the service
  7466. should call the describe call
  7467. should return the translated attribute value
  7468. when not returned by the service
  7469. should return nil if the field is not set
  7470. populated from create_volume
  7471. should not populate when the volume ID does not match
  7472. when returned by the service
  7473. should return the translated attribute value
  7474. when not returned by the service
  7475. should return nil if the field is not set
  7476. AWS::EC2::VPCCollection
  7477. it should behave like an ec2 model object
  7478. #initialize
  7479. should not read the client
  7480. #client
  7481. gets the client from the configuration
  7482. it should behave like ec2 collection object
  7483. it should behave like enumerable
  7484. should not read the client
  7485. #filter
  7486. returns a new collection
  7487. #each
  7488. calls the describe method
  7489. yields an instance of the member class
  7490. passes the config
  7491. should yield the right number of objects
  7492. filtered
  7493. it should behave like a filtered ec2 collection
  7494. #filter
  7495. returns a new collection
  7496. filtered enumeration
  7497. accepts multiple values for a single filter name
  7498. should be chainable
  7499. allows addding a filter name more than once
  7500. it should behave like a tagged ec2 collection
  7501. #tagged
  7502. filters by tag name
  7503. can be chained
  7504. accepts values
  7505. also accepts multiple tag names
  7506. #tagged_values
  7507. filters by tag name
  7508. can be chained
  7509. accepts values
  7510. also accepts multiple tag names
  7511. it should behave like ec2 collection array access
  7512. #[]
  7513. returns an object of the member class
  7514. returns an object with the correct config
  7515. #each
  7516. yields populated vpcs
  7517. #[]
  7518. returns a vpc with the correct config
  7519. #create
  7520. calls #create_vpc on the client
  7521. calls accept a different tenancy value
  7522. returns a VPC object
  7523. AWS::EC2::VPC
  7524. it should behave like an ec2 resource object
  7525. it should behave like an ec2 model object
  7526. #initialize
  7527. should not read the client
  7528. #client
  7529. gets the client from the configuration
  7530. #inspect
  7531. should include the ID
  7532. it should behave like ec2 resource equality method
  7533. #==
  7534. same class
  7535. should return true if the IDs match
  7536. should return false if the IDs do not match
  7537. different class
  7538. should return false
  7539. it should behave like ec2 resource equality method
  7540. #eql?
  7541. same class
  7542. should return true if the IDs match
  7543. should return false if the IDs do not match
  7544. different class
  7545. should return false
  7546. #vpc_id
  7547. returns the id passed in
  7548. is aliased as #id
  7549. #delete
  7550. calls #delete_vpc on the client
  7551. returns nil
  7552. #subnets
  7553. returns a subnet collection
  7554. vpc attributes
  7555. #state
  7556. is returned as a symbol
  7557. #cidr_block
  7558. is returned as a string
  7559. #dhcp_options_id
  7560. is returned as a string
  7561. #instance_tenancy
  7562. is returned as a symbol
  7563. AWS::EC2::VPNConnectionCollection
  7564. it should behave like an ec2 model object
  7565. #initialize
  7566. should not read the client
  7567. #client
  7568. gets the client from the configuration
  7569. it should behave like ec2 collection object
  7570. it should behave like enumerable
  7571. should not read the client
  7572. #filter
  7573. returns a new collection
  7574. #each
  7575. calls the describe method
  7576. yields an instance of the member class
  7577. passes the config
  7578. should yield the right number of objects
  7579. filtered
  7580. it should behave like a filtered ec2 collection
  7581. #filter
  7582. returns a new collection
  7583. filtered enumeration
  7584. accepts multiple values for a single filter name
  7585. should be chainable
  7586. allows addding a filter name more than once
  7587. it should behave like a tagged ec2 collection
  7588. #tagged
  7589. filters by tag name
  7590. can be chained
  7591. accepts values
  7592. also accepts multiple tag names
  7593. #tagged_values
  7594. filters by tag name
  7595. can be chained
  7596. accepts values
  7597. also accepts multiple tag names
  7598. it should behave like ec2 collection array access
  7599. #[]
  7600. returns an object of the member class
  7601. returns an object with the correct config
  7602. #each
  7603. yields vpn connections
  7604. #[]
  7605. returns a vpn connection
  7606. #create
  7607. calls #create_vpn_connection on the client
  7608. accepts gateway objects
  7609. accepts the customer gateway from a collection
  7610. accepts the vpn gateway from a collection
  7611. AWS::EC2::VPNConnection
  7612. it should behave like an ec2 resource object
  7613. it should behave like an ec2 model object
  7614. #initialize
  7615. should not read the client
  7616. #client
  7617. gets the client from the configuration
  7618. #inspect
  7619. should include the ID
  7620. it should behave like ec2 resource equality method
  7621. #==
  7622. same class
  7623. should return true if the IDs match
  7624. should return false if the IDs do not match
  7625. different class
  7626. should return false
  7627. it should behave like ec2 resource equality method
  7628. #eql?
  7629. same class
  7630. should return true if the IDs match
  7631. should return false if the IDs do not match
  7632. different class
  7633. should return false
  7634. it should behave like a tagged ec2 item
  7635. #add_tag
  7636. adds a tag
  7637. returns a tag object
  7638. accepts an optional tag value
  7639. #clear_tags
  7640. deletes all tags with the taggable id
  7641. #tags
  7642. returns a resource tag collection
  7643. should pass the resource and config
  7644. #cached_tags
  7645. when caching is disabled
  7646. should return nil
  7647. when caching is enabled
  7648. should query describe_instances responses
  7649. should return nil if no matching instance is found
  7650. when instance data is cached
  7651. should return a hash
  7652. #vpn_connection_id
  7653. returns the route table id passed in
  7654. is aliased as #id
  7655. #delete
  7656. calls #delete_vpn_connection on the the client
  7657. exisitng connections
  7658. returns the state as a symbol
  7659. returns the vpn_type as a string
  7660. returns the gateway
  7661. returns the customer gateway
  7662. returns the customer gateway configuration
  7663. #vgw_telemetry
  7664. returns telemetry objects
  7665. AWS::EC2::VPNGatewayCollection
  7666. it should behave like an ec2 model object
  7667. #initialize
  7668. should not read the client
  7669. #client
  7670. gets the client from the configuration
  7671. it should behave like ec2 collection object
  7672. it should behave like enumerable
  7673. should not read the client
  7674. #filter
  7675. returns a new collection
  7676. #each
  7677. calls the describe method
  7678. yields an instance of the member class
  7679. passes the config
  7680. should yield the right number of objects
  7681. filtered
  7682. it should behave like a filtered ec2 collection
  7683. #filter
  7684. returns a new collection
  7685. filtered enumeration
  7686. accepts multiple values for a single filter name
  7687. should be chainable
  7688. allows addding a filter name more than once
  7689. it should behave like a tagged ec2 collection
  7690. #tagged
  7691. filters by tag name
  7692. can be chained
  7693. accepts values
  7694. also accepts multiple tag names
  7695. #tagged_values
  7696. filters by tag name
  7697. can be chained
  7698. accepts values
  7699. also accepts multiple tag names
  7700. it should behave like ec2 collection array access
  7701. #[]
  7702. returns an object of the member class
  7703. returns an object with the correct config
  7704. #each
  7705. yields vpn gateways
  7706. #[]
  7707. returns a vpn gateway with the correct config
  7708. #create
  7709. calls #create_vpn_gateway on the client
  7710. accepts an availability zone name string
  7711. accepts an availability zone object
  7712. returns a vpn gateway
  7713. AWS::EC2::VPNGateway
  7714. it should behave like an ec2 resource object
  7715. it should behave like an ec2 model object
  7716. #initialize
  7717. should not read the client
  7718. #client
  7719. gets the client from the configuration
  7720. #inspect
  7721. should include the ID
  7722. it should behave like ec2 resource equality method
  7723. #==
  7724. same class
  7725. should return true if the IDs match
  7726. should return false if the IDs do not match
  7727. different class
  7728. should return false
  7729. it should behave like ec2 resource equality method
  7730. #eql?
  7731. same class
  7732. should return true if the IDs match
  7733. should return false if the IDs do not match
  7734. different class
  7735. should return false
  7736. it should behave like a tagged ec2 item
  7737. #add_tag
  7738. adds a tag
  7739. returns a tag object
  7740. accepts an optional tag value
  7741. #clear_tags
  7742. deletes all tags with the taggable id
  7743. #tags
  7744. returns a resource tag collection
  7745. should pass the resource and config
  7746. #cached_tags
  7747. when caching is disabled
  7748. should return nil
  7749. when caching is enabled
  7750. should query describe_instances responses
  7751. should return nil if no matching instance is found
  7752. when instance data is cached
  7753. should return a hash
  7754. #vpn_gateway_id
  7755. returns the route table id passed in
  7756. is aliased as #id
  7757. #attach
  7758. calls #attach_vpn_gateway on the client
  7759. accepts a vpc object
  7760. returns an attachment
  7761. #detach
  7762. calls #detach_vpn_gateway on the client
  7763. accepts a vpc object
  7764. #delete
  7765. calls #delete_vpn_connection on the client
  7766. exisitng gateways
  7767. populates from the describe call
  7768. #vpc
  7769. #vpc returns the vpc
  7770. AWS::EC2
  7771. behaves like a class that accepts configuration
  7772. accepts and returns a :config option
  7773. constructor passes options to Configuration#with
  7774. returns the merged config
  7775. #instances
  7776. it should behave like ec2 top level collection
  7777. should return an instance of AWS::EC2::InstanceCollection
  7778. should pass the config
  7779. #security_groups
  7780. it should behave like ec2 top level collection
  7781. should return an instance of AWS::EC2::SecurityGroupCollection
  7782. should pass the config
  7783. #elastic_ips
  7784. it should behave like ec2 top level collection
  7785. should return an instance of AWS::EC2::ElasticIpCollection
  7786. should pass the config
  7787. #key_pairs
  7788. it should behave like ec2 top level collection
  7789. should return an instance of AWS::EC2::KeyPairCollection
  7790. should pass the config
  7791. #tags
  7792. it should behave like ec2 top level collection
  7793. should return an instance of AWS::EC2::TagCollection
  7794. should pass the config
  7795. #regions
  7796. it should behave like ec2 top level collection
  7797. should return an instance of AWS::EC2::RegionCollection
  7798. should pass the config
  7799. #availability_zones
  7800. it should behave like ec2 top level collection
  7801. should return an instance of AWS::EC2::AvailabilityZoneCollection
  7802. should pass the config
  7803. #images
  7804. it should behave like ec2 top level collection
  7805. should return an instance of AWS::EC2::ImageCollection
  7806. should pass the config
  7807. #reserved_instances
  7808. it should behave like ec2 top level collection
  7809. should return an instance of AWS::EC2::ReservedInstancesCollection
  7810. should pass the config
  7811. #reserved_instance_offerings
  7812. it should behave like ec2 top level collection
  7813. should return an instance of AWS::EC2::ReservedInstancesOfferingCollection
  7814. should pass the config
  7815. #volumes
  7816. it should behave like ec2 top level collection
  7817. should return an instance of AWS::EC2::VolumeCollection
  7818. should pass the config
  7819. #vpcs
  7820. it should behave like ec2 top level collection
  7821. should return an instance of AWS::EC2::VPCCollection
  7822. should pass the config
  7823. #subnets
  7824. it should behave like ec2 top level collection
  7825. should return an instance of AWS::EC2::SubnetCollection
  7826. should pass the config
  7827. #network_acls
  7828. it should behave like ec2 top level collection
  7829. should return an instance of AWS::EC2::NetworkACLCollection
  7830. should pass the config
  7831. #route_tables
  7832. it should behave like ec2 top level collection
  7833. should return an instance of AWS::EC2::RouteTableCollection
  7834. should pass the config
  7835. #network_interfaces
  7836. it should behave like ec2 top level collection
  7837. should return an instance of AWS::EC2::NetworkInterfaceCollection
  7838. should pass the config
  7839. #internet_gateways
  7840. it should behave like ec2 top level collection
  7841. should return an instance of AWS::EC2::InternetGatewayCollection
  7842. should pass the config
  7843. #customer_gateways
  7844. it should behave like ec2 top level collection
  7845. should return an instance of AWS::EC2::CustomerGatewayCollection
  7846. should pass the config
  7847. #vpn_gateways
  7848. it should behave like ec2 top level collection
  7849. should return an instance of AWS::EC2::VPNGatewayCollection
  7850. should pass the config
  7851. #dhcp_options
  7852. it should behave like ec2 top level collection
  7853. should return an instance of AWS::EC2::DHCPOptionsCollection
  7854. should pass the config
  7855. #vpn_connections
  7856. it should behave like ec2 top level collection
  7857. should return an instance of AWS::EC2::VPNConnectionCollection
  7858. should pass the config
  7859. AWS::ELB::AvailabilityZoneCollection
  7860. #enable
  7861. accepts availability zone names
  7862. accepts availability zone objects
  7863. returns nil
  7864. #disable
  7865. accepts availability zone names
  7866. accepts availability zone objects
  7867. returns nil
  7868. #each
  7869. yields availability zone objects
  7870. AWS::ELB::BackendServerPolicyCollection
  7871. #[]
  7872. calls #describe_load_balancers to get the policy
  7873. returns nil if there was no policy
  7874. #[]=
  7875. calls #set_load_balancer_policies_for_backend_server
  7876. accepts policy objects
  7877. accepts nil to remove a policy
  7878. #each
  7879. yields policies
  7880. AWS::ELB::InstanceCollection
  7881. #[]
  7882. returns an ec2 instance object
  7883. returns an ec2 instance object with the correct configuration
  7884. returns an ec2 instance that responds to #elb_health
  7885. #elb_health
  7886. calls #describe_instance_health on the client
  7887. #load_balancer
  7888. returns the load balancer
  7889. #remove_from_load_balancer
  7890. calls deregister for the instance
  7891. #health
  7892. calls #describe_instance_health
  7893. returns an array of hashes
  7894. accepts instances ids
  7895. accepts instances
  7896. #register
  7897. calls register on the client
  7898. #deregister
  7899. calls deregister on the client
  7900. #each
  7901. yields instance objects
  7902. AWS::ELB::LoadBalancerCollection
  7903. #create
  7904. calls #create_load_balancer_listeners on the client
  7905. accepts IAM server certificates
  7906. returns a listener
  7907. #[]
  7908. returns a listener
  7909. returns a listener with the proper load balancer
  7910. returns a listener with the proper config
  7911. returns a listener with the correct port
  7912. accepts port as a string
  7913. #each
  7914. yields once for each listener on the load balancer
  7915. yield listeners
  7916. yields listeners with configs
  7917. yields populated listeners
  7918. AWS::ELB::Listener
  7919. #load_balancer
  7920. returns the load balancer
  7921. has the right config
  7922. #port
  7923. returns the port
  7924. stringifies the port
  7925. #protocol
  7926. returns the protocol as a symbol
  7927. #instance_port
  7928. returns the isntance port as an integer
  7929. #instance_protocol
  7930. returns the isntance protocol as a symbol
  7931. #server_certificate
  7932. returns the iam server certificate that has the matching arn
  7933. #server_certificate=
  7934. sends the server cert arn as ssl_certificate_id
  7935. #policy
  7936. describes the load balancer to get the policy
  7937. #policy=
  7938. accepts policy names
  7939. accepts policy objects
  7940. #remove_policy
  7941. sends no policy names
  7942. #exists?
  7943. returns false if the load balancer does not exist
  7944. returns false if the load balancer policy does not exist
  7945. returns true if the load balancer policy is described
  7946. #delete
  7947. calls delete_load_balancer_listeners on the client
  7948. AWS::ELB::LoadBalancerCollection
  7949. #create
  7950. returns a load balancer
  7951. returns a load balancer with the correct name
  7952. returns a load balancer with the correct config
  7953. returns a load balancer with the dns_name populated
  7954. calls #create_load_balancer on the client
  7955. #[]
  7956. returns a load balancer
  7957. returns the load balancer with the given name
  7958. accepts load balancer names as symbols
  7959. returns a load balancer with the correct config
  7960. it should behave like a simple collection
  7961. behaves like a collection with #enum
  7962. should be enumerable
  7963. responds to enumerator
  7964. returns an enumerator
  7965. returns an enumerator for the each method
  7966. passes arguments to the each method
  7967. #each
  7968. calls the client method to list objects
  7969. should yield the right number of objects
  7970. it should behave like a collection that yields models
  7971. #each
  7972. yields the correct number of members
  7973. yields instances of the member class
  7974. yields objects with the correct config
  7975. AWS::ELB::LoadBalancerPolicyCollection
  7976. #create
  7977. calls #create_load_balancer_policy
  7978. returns a policy object
  7979. #[]
  7980. returns a load balancer policy
  7981. returns a load balancer policy with the proper name
  7982. returns a load balancer policy with the proper config
  7983. returns a load balancer policy with the proper load balancer
  7984. #each
  7985. calls describe load balancer policies
  7986. appects extra optins like policy names
  7987. yield load balancer policies
  7988. AWS::ELB::LoadBalancerPolicy
  7989. #name
  7990. is returned from init
  7991. #type
  7992. can be passed to init
  7993. is requested when unknown
  7994. #attributes
  7995. calls describe_load_balancer_policies to get attributes
  7996. #delete
  7997. calls delete_load_balancer_policy
  7998. #exists?
  7999. returns false if the load balancer does not exist
  8000. returns false if the policy does not exist
  8001. returns true if the policy exists
  8002. AWS::ELB::LoadBalancer
  8003. it should behave like a resource object
  8004. #inspect
  8005. should include the ID
  8006. it should behave like resource equality method
  8007. #==
  8008. same class
  8009. should return true if everything matches
  8010. should return false if any identifying information does not match
  8011. different class
  8012. should return false
  8013. it should behave like resource equality method
  8014. #eql?
  8015. same class
  8016. should return true if everything matches
  8017. should return false if any identifying information does not match
  8018. different class
  8019. should return false
  8020. #initialize
  8021. should store the name
  8022. should accpet a symbol name
  8023. #backend_server_policies
  8024. returns an backend server policy collection
  8025. #listeners
  8026. returns an backend server policy collection
  8027. #policies
  8028. returns an backend server policy collection
  8029. #instances
  8030. returns an backend server policy collection
  8031. #exists
  8032. returns true if the load balancer can be described
  8033. returns false if an error is raised describing the load balancer
  8034. #delete
  8035. calls #delete_load_balancer on the client
  8036. static attributes
  8037. returns the load balancer name as a string
  8038. returns the canonical hosted zone name as a string
  8039. returns the canonical hosted zone name id as a string
  8040. returns the created time as a Time object
  8041. returns the dns name as a string
  8042. hasherizes source security group
  8043. #availability_zones
  8044. returns an az collection
  8045. returns an az collection with the proper load balancer
  8046. returns an az collection with the proper config
  8047. #availability_zone_names
  8048. returns an array of strings
  8049. #source_security_group
  8050. returns a hash for the group name and owner alias
  8051. health check configuration
  8052. #health_check_configuration
  8053. returns a hash with the correct details
  8054. #configure_health_check
  8055. gets the current health check and merges options
  8056. returns a health check configuration hash
  8057. AWS::ELB
  8058. behaves like a class that accepts configuration
  8059. accepts and returns a :config option
  8060. constructor passes options to Configuration#with
  8061. returns the merged config
  8062. #load_balancers
  8063. returns a load balancer collection
  8064. returns a collection with the correct config
  8065. AWS::Errors::Base
  8066. it should behave like an aws error
  8067. should be a standard error
  8068. should be an aws service error
  8069. should have a message like the response body
  8070. should provide access to the http request
  8071. should provide access to the http response
  8072. AWS::Errors::ServerError
  8073. it should behave like an aws error
  8074. should be a standard error
  8075. should be an aws service error
  8076. should have a message like the response body
  8077. should provide access to the http request
  8078. should provide access to the http response
  8079. AWS::Errors::ClientError
  8080. it should behave like an aws error
  8081. should be a standard error
  8082. should be an aws service error
  8083. should have a message like the response body
  8084. should provide access to the http request
  8085. should provide access to the http response
  8086. AWS::IAM::AccessKeyCollection
  8087. with user
  8088. #user
  8089. returns the user passed to #new
  8090. #config
  8091. should be the users config
  8092. #create
  8093. calls create_access_key on the client
  8094. returns an access key
  8095. #[]
  8096. returns an access key
  8097. calls list_access_keys to get the status
  8098. returns an access key w/out access to the secret
  8099. behaves like a pageable collection with limits
  8100. behaves like a collection with #enum
  8101. should be enumerable
  8102. responds to enumerator
  8103. returns an enumerator
  8104. returns an enumerator for the each method
  8105. passes arguments to the each method
  8106. #each
  8107. with :limit
  8108. passes :limit as limit_key
  8109. makes requests until the total number of items received == limit
  8110. stops short of the limit if a truncated response is returned
  8111. with :batch_size param
  8112. convert batch size into a limit
  8113. requests :batch_size num elements until response is truncated
  8114. with :limit and :batch_size
  8115. makes requests while response is truncated
  8116. behaves like a collection that yields models
  8117. yields access_keys with populated ids
  8118. yields access_keys with populated users
  8119. #each
  8120. yields the correct number of members
  8121. yields instances of the member class
  8122. yields objects with the correct config
  8123. without user
  8124. #user
  8125. returns nil
  8126. #config
  8127. should be the config passed to #new
  8128. #create
  8129. calls create_access_key on the client
  8130. returns an access key
  8131. #[]
  8132. returns an access key
  8133. AWS::IAM::AccessKey
  8134. #id
  8135. returns the access key id that was passed to #new
  8136. #user
  8137. returns the user passed to #new
  8138. #config
  8139. should be the users config
  8140. #secret
  8141. returns the secret passed to #new
  8142. raises an error when not provided
  8143. #status
  8144. lists access keys to find the status
  8145. #active?
  8146. returns true if the status is :active
  8147. returns false if the status is :inactive
  8148. #inactive?
  8149. returns false if the status is :active
  8150. returns true if the status is :inactive
  8151. #activate!
  8152. calls update_access_key on the client
  8153. #deactivate!
  8154. calls update_access_key on the client
  8155. #delete
  8156. calls delete_access_key on the client
  8157. AWS::IAM::UserCollection
  8158. #create
  8159. calls create_account_alias on the client
  8160. returns the alias
  8161. #delete
  8162. calls delete_account_alias on the client
  8163. returns nil
  8164. behaves like a pageable collection with limits
  8165. behaves like a collection with #enum
  8166. should be enumerable
  8167. responds to enumerator
  8168. returns an enumerator
  8169. returns an enumerator for the each method
  8170. passes arguments to the each method
  8171. #each
  8172. with :limit
  8173. passes :limit as limit_key
  8174. makes requests until the total number of items received == limit
  8175. stops short of the limit if a truncated response is returned
  8176. with :batch_size param
  8177. convert batch size into a limit
  8178. requests :batch_size num elements until response is truncated
  8179. with :limit and :batch_size
  8180. makes requests while response is truncated
  8181. AWS::IAM::Client
  8182. #list_groups
  8183. it should behave like uses cached responses
  8184. when the cache is active
  8185. should not make a request if a matching response is in the cache
  8186. should make a request if no response is cached
  8187. should use a response class whose cache key includes the access key ID
  8188. should log the response including a [CACHED] tag
  8189. #get_group
  8190. it should behave like uses cached responses
  8191. when the cache is active
  8192. should not make a request if a matching response is in the cache
  8193. should make a request if no response is cached
  8194. should use a response class whose cache key includes the access key ID
  8195. should log the response including a [CACHED] tag
  8196. #get_group_policy
  8197. it should behave like uses cached responses
  8198. when the cache is active
  8199. should not make a request if a matching response is in the cache
  8200. should make a request if no response is cached
  8201. should use a response class whose cache key includes the access key ID
  8202. should log the response including a [CACHED] tag
  8203. #list_group_policies
  8204. it should behave like uses cached responses
  8205. when the cache is active
  8206. should not make a request if a matching response is in the cache
  8207. should make a request if no response is cached
  8208. should use a response class whose cache key includes the access key ID
  8209. should log the response including a [CACHED] tag
  8210. #list_groups_for_user
  8211. it should behave like uses cached responses
  8212. when the cache is active
  8213. should not make a request if a matching response is in the cache
  8214. should make a request if no response is cached
  8215. should use a response class whose cache key includes the access key ID
  8216. should log the response including a [CACHED] tag
  8217. #list_server_certificates
  8218. it should behave like uses cached responses
  8219. when the cache is active
  8220. should not make a request if a matching response is in the cache
  8221. should make a request if no response is cached
  8222. should use a response class whose cache key includes the access key ID
  8223. should log the response including a [CACHED] tag
  8224. AWS::IAM::GroupCollection
  8225. #create
  8226. should call create_group
  8227. should accept an optional path
  8228. should automatically add a trailing slash to the path
  8229. should automatically add a leading slash to the path
  8230. should return a group object
  8231. #[]
  8232. should return a group object with the name populated
  8233. behaves like a pageable collection with limits
  8234. behaves like a collection with #enum
  8235. should be enumerable
  8236. responds to enumerator
  8237. returns an enumerator
  8238. returns an enumerator for the each method
  8239. passes arguments to the each method
  8240. #each
  8241. with :limit
  8242. passes :limit as limit_key
  8243. makes requests until the total number of items received == limit
  8244. stops short of the limit if a truncated response is returned
  8245. with :batch_size param
  8246. convert batch size into a limit
  8247. requests :batch_size num elements until response is truncated
  8248. with :limit and :batch_size
  8249. makes requests while response is truncated
  8250. behaves like a collection using a path prefix
  8251. #with_prefix
  8252. should return a collection with the prefix set
  8253. should add a leading slash if missing
  8254. should keep the same configuration
  8255. should call the client method with a :path_prefix option
  8256. #each
  8257. should send :prefix as :path_prefix
  8258. should add a leading slash if missing
  8259. behaves like a collection that yields models
  8260. yields groups with populated names
  8261. yields groups with populated create_date timestamps
  8262. yields groups with populated ids
  8263. #each
  8264. yields the correct number of members
  8265. yields instances of the member class
  8266. yields objects with the correct config
  8267. AWS::IAM::GroupPolicyCollection
  8268. it should behave like iam policy collection
  8269. #[]
  8270. should call the get policy method
  8271. should return the policy document
  8272. should return nil if NoSuchEntity is raised
  8273. #[]=
  8274. should call the put policy method
  8275. should accept an object that responds to to_json
  8276. #delete
  8277. should call the delete policy method
  8278. should return nil
  8279. should rescue NoSuchEntity
  8280. #values_at
  8281. should call #[] for each argument
  8282. #keys
  8283. should call #enumerator with :names_only set
  8284. #values
  8285. should call #enumerator with :values_only set
  8286. #clear
  8287. should call #delete with each key
  8288. #has_key?
  8289. should call the get policy method
  8290. should return true if there is no error
  8291. should return false if there is a NoSuchEntity error
  8292. should not rescue other errors
  8293. behaves like a pageable collection with limits
  8294. behaves like a collection with #enum
  8295. should be enumerable
  8296. responds to enumerator
  8297. returns an enumerator
  8298. returns an enumerator for the each method
  8299. passes arguments to the each method
  8300. #each
  8301. with :limit
  8302. passes :limit as limit_key
  8303. makes requests until the total number of items received == limit
  8304. stops short of the limit if a truncated response is returned
  8305. with :batch_size param
  8306. convert batch size into a limit
  8307. requests :batch_size num elements until response is truncated
  8308. with :limit and :batch_size
  8309. makes requests while response is truncated
  8310. #each
  8311. should call the get policy method for each policy
  8312. should yield pairs to a arity-1 block
  8313. should yield keys and values to a arity-2 block
  8314. with :names_only
  8315. should not call the get policy method
  8316. should not pass :names_only to the list policies method
  8317. should yield the names as strings
  8318. with :values_only
  8319. should yield the documents
  8320. should not pass :values_only to the list policies method
  8321. #to_h
  8322. should return a hash of policy name to policy document
  8323. AWS::IAM::Group
  8324. #initialize
  8325. should store the group name
  8326. should store the create time
  8327. should store the id
  8328. populated from get_group
  8329. should not populate for a non-matching group
  8330. it should behave like populated group data
  8331. should include the group id
  8332. should include the path
  8333. should include the create date
  8334. should include the arn
  8335. populated from create_group
  8336. should not populate for a non-matching group
  8337. it should behave like populated group data
  8338. should include the group id
  8339. should include the path
  8340. should include the create date
  8341. should include the arn
  8342. populated from list_groups
  8343. should not populate for a non-matching group
  8344. it should behave like populated group data
  8345. should include the group id
  8346. should include the path
  8347. should include the create date
  8348. should include the arn
  8349. populated from list_groups_for_user
  8350. should not populate for a non-matching group
  8351. it should behave like populated group data
  8352. should include the group id
  8353. should include the path
  8354. should include the create date
  8355. should include the arn
  8356. #path=
  8357. should call update_group
  8358. should automatically add a trailing slash to the path
  8359. should automatically add a trailing slash to the path
  8360. #name=
  8361. updates the group name
  8362. modifies the name returned by #name
  8363. #exists?
  8364. should call get_group
  8365. should return true if there is no error
  8366. should return false if there is a NoSuchEntity error
  8367. should not rescue other kinds of errors
  8368. #delete
  8369. should call delete_group
  8370. should return nil
  8371. #users
  8372. should return a collection of the users in the group
  8373. #policies
  8374. should return a collection of the policies in the group
  8375. AWS::IAM::GroupUserCollection
  8376. #add
  8377. should call add_user_to_group
  8378. should return nil
  8379. #remove
  8380. should call remove_user_from_group
  8381. should return nil
  8382. behaves like a simple collection
  8383. behaves like a collection with #enum
  8384. should be enumerable
  8385. responds to enumerator
  8386. returns an enumerator
  8387. returns an enumerator for the each method
  8388. passes arguments to the each method
  8389. #each
  8390. calls the client method to list objects
  8391. should yield the right number of objects
  8392. behaves like a collection that yields models
  8393. yields users with populated names
  8394. yields users with populated create_date timestamps
  8395. yields users with populated ids
  8396. #each
  8397. yields the correct number of members
  8398. yields instances of the member class
  8399. yields objects with the correct config
  8400. AWS::IAM::LoginProfile
  8401. #initialize
  8402. should set the user
  8403. populated from get_login_profile
  8404. should not populate for a non-matching profile
  8405. it should behave like populated login profile data
  8406. should include the create date
  8407. populated from create_login_profile
  8408. should not populate for a non-matching profile
  8409. it should behave like populated login profile data
  8410. should include the create date
  8411. #create_date
  8412. should call get_login_profile
  8413. #password=
  8414. should call update_login_profile
  8415. should call create_login_profile if the service returns NoSuchEntity
  8416. should return the password as it was set
  8417. should return the password as it was set when creating
  8418. #delete
  8419. should call delete_login_profile
  8420. #exists?
  8421. should call get_login_profile
  8422. should return true when the call succeeds
  8423. should return false when the call fails with NoSuchEntity
  8424. should not rescue other kinds of errors
  8425. AWS::IAM::MFADeviceCollection
  8426. #create
  8427. is an alias of #enable
  8428. #enable
  8429. call enable_mfa_device create_user on the client
  8430. returns an mfa device
  8431. #[]
  8432. returns an mfa device
  8433. #clear
  8434. calls deactivate on each device
  8435. behaves like a pageable collection with limits
  8436. behaves like a collection with #enum
  8437. should be enumerable
  8438. responds to enumerator
  8439. returns an enumerator
  8440. returns an enumerator for the each method
  8441. passes arguments to the each method
  8442. #each
  8443. with :limit
  8444. passes :limit as limit_key
  8445. makes requests until the total number of items received == limit
  8446. stops short of the limit if a truncated response is returned
  8447. with :batch_size param
  8448. convert batch size into a limit
  8449. requests :batch_size num elements until response is truncated
  8450. with :limit and :batch_size
  8451. makes requests while response is truncated
  8452. behaves like a collection that yields models
  8453. yields devices with populated serial numbers
  8454. yields devies with the correct user
  8455. #each
  8456. yields the correct number of members
  8457. yields instances of the member class
  8458. yields objects with the correct config
  8459. virtual mfa devices
  8460. behaves like a collection that yields models
  8461. yields devices with populated ARNs
  8462. #each
  8463. yields the correct number of members
  8464. yields instances of the member class
  8465. yields objects with the correct config
  8466. AWS::IAM::MFADevice
  8467. #user
  8468. returns the mfa device owner/user
  8469. #serial_number
  8470. returns the mfa device serial number
  8471. #deactivate
  8472. calls deactivate_mfa_device on the client
  8473. #delete
  8474. is an alias of #deactivate
  8475. AWS::IAM::Policy::Statement
  8476. it should behave like generic policy statement
  8477. #initialize
  8478. should yield the statement object
  8479. should work without a block
  8480. should not output both Action and NotAction
  8481. it should behave like singular constructor arg
  8482. should accept Effect
  8483. should accept :effect
  8484. should output the :effect constructor arg
  8485. should not have a effect value when it is explicitly nil
  8486. it should behave like singular constructor arg
  8487. should accept Sid
  8488. should accept :sid
  8489. should output the :sid constructor arg
  8490. should not have a sid value when it is explicitly nil
  8491. it should behave like array constructor arg
  8492. should accept actions (single)
  8493. should accept Action (single)
  8494. should accept actions (multiple)
  8495. should accept Action (multiple)
  8496. it should behave like array constructor arg
  8497. should accept excluded_actions (single)
  8498. should accept NotAction (single)
  8499. should accept excluded_actions (multiple)
  8500. should accept NotAction (multiple)
  8501. it should behave like array constructor arg
  8502. should accept principals (single)
  8503. should accept Principal (single)
  8504. should accept principals (multiple)
  8505. should accept Principal (multiple)
  8506. it should behave like array constructor arg
  8507. should accept resources (single)
  8508. should accept Resource (single)
  8509. should accept resources (multiple)
  8510. should accept Resource (multiple)
  8511. Principal hash option
  8512. should accept a hash
  8513. should accept a single AWS principal
  8514. should accept multiple AWS principals
  8515. Condition hash option
  8516. should construct a ConditionBlock
  8517. empty
  8518. #to_h
  8519. should have an Sid generated from a UUID
  8520. should not have a principal
  8521. should not have a condition block
  8522. with an effect
  8523. should generate an Effect
  8524. with AWS account principals
  8525. should generate a multi-valued Principal
  8526. with any AWS account principal
  8527. should generate a wildcard Principal
  8528. with a prefixed string action
  8529. should generate an Action
  8530. with any action
  8531. should generate a wildcard Action
  8532. with multiple actions
  8533. should generate a multi-valued Action
  8534. excluded actions
  8535. should generate a multi-valued NotAction
  8536. #include_actions
  8537. should generate a multi-valued Action
  8538. should add to existing actions
  8539. #exclude_actions
  8540. should generate a multi-valued NotAction
  8541. should add to existing actions
  8542. with a resource ARN
  8543. should generate a Resource key
  8544. with :any as the resource
  8545. should generate a wildcard for the Resource
  8546. with a condition block
  8547. should generate a Condition key
  8548. #conditions
  8549. should be a ConditionBlock by default
  8550. it should behave like service specific policy statement
  8551. symbolized action names
  8552. raises error for unknown actions
  8553. translates action names
  8554. translates excluded actions
  8555. resource arns
  8556. accepts topics
  8557. AWS::SimpleEmailService::Request
  8558. it should behave like an authorize v4 request
  8559. #add_authorization!
  8560. sets the content type form-urlencoded by default
  8561. populates the host header
  8562. populates the date header
  8563. omits the security token header when session token not provided
  8564. populates the security token header when session token is provided
  8565. popualtes the authorization header (FAILED - 7)
  8566. includes the session token in the signature when present (FAILED - 8)
  8567. #service
  8568. should be ses
  8569. AWS::IAM::ServerCertificateCollection
  8570. #create
  8571. should call upload_server_certificate
  8572. should pass :name as :server_certificate_name
  8573. should accept an optional path
  8574. should automatically add a trailing slash to the path
  8575. should automatically add a leading slash to the path
  8576. should pass additional options through to the client
  8577. should return a certificate object
  8578. #[]
  8579. should return a certificate object with the name populated
  8580. behaves like a pageable collection with limits
  8581. behaves like a collection with #enum
  8582. should be enumerable
  8583. responds to enumerator
  8584. returns an enumerator
  8585. returns an enumerator for the each method
  8586. passes arguments to the each method
  8587. #each
  8588. with :limit
  8589. passes :limit as limit_key
  8590. makes requests until the total number of items received == limit
  8591. stops short of the limit if a truncated response is returned
  8592. with :batch_size param
  8593. convert batch size into a limit
  8594. requests :batch_size num elements until response is truncated
  8595. with :limit and :batch_size
  8596. makes requests while response is truncated
  8597. behaves like a collection using a path prefix
  8598. #with_prefix
  8599. should return a collection with the prefix set
  8600. should add a leading slash if missing
  8601. should keep the same configuration
  8602. should call the client method with a :path_prefix option
  8603. #each
  8604. should send :prefix as :path_prefix
  8605. should add a leading slash if missing
  8606. behaves like a collection that yields models
  8607. yields server certificates with populated names
  8608. yields server certificates with populated upload_date timestamps
  8609. yields server certificates with populated ids
  8610. #each
  8611. yields the correct number of members
  8612. yields instances of the member class
  8613. yields objects with the correct config
  8614. AWS::IAM::ServerCertificate
  8615. #initialize
  8616. should store the name
  8617. should store the upload date
  8618. should store the id
  8619. attributes
  8620. populated from get_server_certificate
  8621. it should behave like populated server certificate metadata
  8622. should include the certificate id
  8623. should include the path
  8624. should include the upload date
  8625. should include the arn
  8626. should not populate for a non-matching group
  8627. it should behave like populated server certificate data
  8628. should include the certificate body
  8629. should include the certificate chain
  8630. populated from upload_server_certificate
  8631. it should behave like populated server certificate metadata
  8632. should include the certificate id
  8633. should include the path
  8634. should include the upload date
  8635. should include the arn
  8636. should not populate for a non-matching group
  8637. populated from list_server_certificates
  8638. it should behave like populated server certificate metadata
  8639. should include the certificate id
  8640. should include the path
  8641. should include the upload date
  8642. should include the arn
  8643. should not populate for a non-matching group
  8644. #path=
  8645. should call update_server_certificate
  8646. should automatically add a trailing slash to the path
  8647. should automatically add a trailing slash to the path
  8648. #name=
  8649. updates the cert name
  8650. modifies the name returned by #name
  8651. #delete
  8652. should call delete_server_certificate
  8653. should return nil
  8654. AWS::IAM::SigningCertificateCollection
  8655. #create
  8656. is an alias of #upload
  8657. with user
  8658. #user
  8659. returns the user passed to #new
  8660. #config
  8661. should be the users config
  8662. #upload
  8663. calls upload_signing_certificate on the client
  8664. returns a signing cerificate
  8665. #[]
  8666. returns a certificate
  8667. behaves like a pageable collection with limits
  8668. behaves like a collection with #enum
  8669. should be enumerable
  8670. responds to enumerator
  8671. returns an enumerator
  8672. returns an enumerator for the each method
  8673. passes arguments to the each method
  8674. #each
  8675. with :limit
  8676. passes :limit as limit_key
  8677. makes requests until the total number of items received == limit
  8678. stops short of the limit if a truncated response is returned
  8679. with :batch_size param
  8680. convert batch size into a limit
  8681. requests :batch_size num elements until response is truncated
  8682. with :limit and :batch_size
  8683. makes requests while response is truncated
  8684. behaves like a collection that yields models
  8685. yields certificates with populated ids
  8686. yields certificates with populated bodies
  8687. #each
  8688. yields the correct number of members
  8689. yields instances of the member class
  8690. yields objects with the correct config
  8691. without user
  8692. #user
  8693. returns nil
  8694. #config
  8695. should be the config passed to #new
  8696. #upload
  8697. calls upload_signing_certificate on the client
  8698. returns a signing cerificate
  8699. #[]
  8700. returns a certificate
  8701. AWS::IAM::SigningCertificate
  8702. #id
  8703. returns the certificate_id that was passed to #new
  8704. #user
  8705. returns the user passed to #new
  8706. #config
  8707. should be the users config
  8708. #contents
  8709. returns the contents passed to #new
  8710. lists certificates to find missing contents
  8711. #status
  8712. lists certificates to find the status
  8713. #active?
  8714. returns true if the status is :active
  8715. returns false if the status is :inactive
  8716. #inactive?
  8717. returns false if the status is :active
  8718. returns true if the status is :inactive
  8719. #activate!
  8720. calls update_signing_certificate on the client
  8721. #deactivate!
  8722. calls update_signing_certificate on the client
  8723. #delete
  8724. calls delete_signing_certificate on the client
  8725. AWS::IAM::UserCollection
  8726. #create
  8727. call create_user on the client
  8728. accepts a :path
  8729. returns a user with immutable details populated
  8730. behaves like a pageable collection with limits
  8731. behaves like a collection with #enum
  8732. should be enumerable
  8733. responds to enumerator
  8734. returns an enumerator
  8735. returns an enumerator for the each method
  8736. passes arguments to the each method
  8737. #each
  8738. with :limit
  8739. passes :limit as limit_key
  8740. makes requests until the total number of items received == limit
  8741. stops short of the limit if a truncated response is returned
  8742. with :batch_size param
  8743. convert batch size into a limit
  8744. requests :batch_size num elements until response is truncated
  8745. with :limit and :batch_size
  8746. makes requests while response is truncated
  8747. behaves like a collection using a path prefix
  8748. #with_prefix
  8749. should return a collection with the prefix set
  8750. should add a leading slash if missing
  8751. should keep the same configuration
  8752. should call the client method with a :path_prefix option
  8753. #each
  8754. should send :prefix as :path_prefix
  8755. should add a leading slash if missing
  8756. behaves like a collection that yields models
  8757. yields users with populated names
  8758. yields users with populated create_date timestamps
  8759. yields users with populated ids
  8760. #each
  8761. yields the correct number of members
  8762. yields instances of the member class
  8763. yields objects with the correct config
  8764. AWS::IAM::UserGroupCollection
  8765. #add
  8766. should call add_user_to_group
  8767. should return nil
  8768. #remove
  8769. should call remove_user_from_group
  8770. should return nil
  8771. behaves like a pageable collection with limits
  8772. behaves like a collection with #enum
  8773. should be enumerable
  8774. responds to enumerator
  8775. returns an enumerator
  8776. returns an enumerator for the each method
  8777. passes arguments to the each method
  8778. #each
  8779. with :limit
  8780. passes :limit as limit_key
  8781. makes requests until the total number of items received == limit
  8782. stops short of the limit if a truncated response is returned
  8783. with :batch_size param
  8784. convert batch size into a limit
  8785. requests :batch_size num elements until response is truncated
  8786. with :limit and :batch_size
  8787. makes requests while response is truncated
  8788. behaves like a collection that yields models
  8789. yields groups with populated names
  8790. yields groups with populated create_date timestamps
  8791. yields groups with populated ids
  8792. #each
  8793. yields the correct number of members
  8794. yields instances of the member class
  8795. yields objects with the correct config
  8796. AWS::IAM::UserPolicyCollection
  8797. it should behave like iam policy collection
  8798. #[]
  8799. should call the get policy method
  8800. should return the policy document
  8801. should return nil if NoSuchEntity is raised
  8802. #[]=
  8803. should call the put policy method
  8804. should accept an object that responds to to_json
  8805. #delete
  8806. should call the delete policy method
  8807. should return nil
  8808. should rescue NoSuchEntity
  8809. #values_at
  8810. should call #[] for each argument
  8811. #keys
  8812. should call #enumerator with :names_only set
  8813. #values
  8814. should call #enumerator with :values_only set
  8815. #clear
  8816. should call #delete with each key
  8817. #has_key?
  8818. should call the get policy method
  8819. should return true if there is no error
  8820. should return false if there is a NoSuchEntity error
  8821. should not rescue other errors
  8822. behaves like a pageable collection with limits
  8823. behaves like a collection with #enum
  8824. should be enumerable
  8825. responds to enumerator
  8826. returns an enumerator
  8827. returns an enumerator for the each method
  8828. passes arguments to the each method
  8829. #each
  8830. with :limit
  8831. passes :limit as limit_key
  8832. makes requests until the total number of items received == limit
  8833. stops short of the limit if a truncated response is returned
  8834. with :batch_size param
  8835. convert batch size into a limit
  8836. requests :batch_size num elements until response is truncated
  8837. with :limit and :batch_size
  8838. makes requests while response is truncated
  8839. #each
  8840. should call the get policy method for each policy
  8841. should yield pairs to a arity-1 block
  8842. should yield keys and values to a arity-2 block
  8843. with :names_only
  8844. should not call the get policy method
  8845. should not pass :names_only to the list policies method
  8846. should yield the names as strings
  8847. with :values_only
  8848. should yield the documents
  8849. should not pass :values_only to the list policies method
  8850. #to_h
  8851. should return a hash of policy name to policy document
  8852. AWS::IAM::UserPolicy
  8853. #user
  8854. returns the user
  8855. #name
  8856. returns the name of the user policy
  8857. #policy
  8858. calls get_user_policy on the client to fetch the policy
  8859. #change
  8860. calls policy= with the changed policy
  8861. #policy=
  8862. calls put_user_policy on the client to add/update the policy
  8863. #delete
  8864. calls delete_user_policy on the client
  8865. AWS::IAM::User
  8866. populated from get_user
  8867. should not populate for a non-matching user
  8868. it should behave like populated user data
  8869. should include the user id
  8870. should include the path
  8871. should include the create date
  8872. should include the arn
  8873. populated from create_user
  8874. should not populate for a non-matching user
  8875. it should behave like populated user data
  8876. should include the user id
  8877. should include the path
  8878. should include the create date
  8879. should include the arn
  8880. populated from list_users
  8881. should not populate for a non-matching user
  8882. it should behave like populated user data
  8883. should include the user id
  8884. should include the path
  8885. should include the create date
  8886. should include the arn
  8887. populated from get_group
  8888. should not populate for a non-matching user
  8889. it should behave like populated user data
  8890. should include the user id
  8891. should include the path
  8892. should include the create date
  8893. should include the arn
  8894. accessors
  8895. #name
  8896. is the name passed to the constructor
  8897. #name=
  8898. updates the user name
  8899. modifies the name returned by #name
  8900. #id
  8901. returns id passed to #new
  8902. calls get_user on the client to get the id
  8903. #create_date
  8904. returns the time passed to #new
  8905. calls get_user on the client to get the create date
  8906. #arn
  8907. calls get_user to get the arn
  8908. #path
  8909. calls get_user to get the path
  8910. #path=
  8911. calls update_user to get the path
  8912. #delete
  8913. calls delete_user on the client
  8914. #policies
  8915. returns a user policy collection
  8916. #mfa_devices
  8917. returns a mfa device collection
  8918. #signing_certificates
  8919. returns a signing certificate collection
  8920. #login_profile
  8921. returns a login profile object
  8922. #access_keys
  8923. returns an access key collection
  8924. #groups
  8925. returns a group collection for the user
  8926. AWS::IAM::VirtualMfaDeviceCollection
  8927. #[]
  8928. returns a virtual mfa device
  8929. returns a virtual mfa device with the correct arn
  8930. returns a virtual mfa device with the correct config
  8931. #create
  8932. should call create_virtual_mfa_device
  8933. should pass additional options to the client
  8934. should return a virtual MFA device
  8935. behaves like a pageable collection with limits
  8936. behaves like a collection with #enum
  8937. should be enumerable
  8938. responds to enumerator
  8939. returns an enumerator
  8940. returns an enumerator for the each method
  8941. passes arguments to the each method
  8942. #each
  8943. with :limit
  8944. passes :limit as limit_key
  8945. makes requests until the total number of items received == limit
  8946. stops short of the limit if a truncated response is returned
  8947. with :batch_size param
  8948. convert batch size into a limit
  8949. requests :batch_size num elements until response is truncated
  8950. with :limit and :batch_size
  8951. makes requests while response is truncated
  8952. behaves like a collection that yields models
  8953. yields devices with populated arns
  8954. #each
  8955. yields the correct number of members
  8956. yields instances of the member class
  8957. yields objects with the correct config
  8958. AWS::IAM::VirtualMfaDevice
  8959. #initialize
  8960. should store the arn
  8961. #serial_number
  8962. returns the device serial number
  8963. is aliased to #arn
  8964. #delete
  8965. should call delete_virtual_mfa_device
  8966. should return nil
  8967. #enable
  8968. should call enable_mfa_device
  8969. should stringify the codes
  8970. should pad numeric codes with leading zeroes
  8971. should use the user name directly if passed as a string
  8972. should return nil
  8973. newly created devices
  8974. returns the seed and qr code png
  8975. existing devices
  8976. #user
  8977. defaults to nil
  8978. returns the user when provided
  8979. #deactivate
  8980. should call deactivate_mfa_device
  8981. should return nil
  8982. #enable_date
  8983. returns nil when not present
  8984. returns the datetime value when present
  8985. returns true from enabled? when present
  8986. returns false from enabled? when missing
  8987. #base_32_string_seed
  8988. returns nil, only accessible on newly created devices
  8989. #qr_code_png
  8990. returns nil, only accessible on newly created devices
  8991. AWS::IAM
  8992. behaves like a class that accepts configuration
  8993. accepts and returns a :config option
  8994. constructor passes options to Configuration#with
  8995. returns the merged config
  8996. #users
  8997. returns a user collection
  8998. returns a collection with the correct config
  8999. #groups
  9000. returns a group collection
  9001. returns a collection with the correct config
  9002. #signing_certificates
  9003. returns a signing certificate collection
  9004. #access_keys
  9005. returns an access key collection
  9006. #server_certificates
  9007. returns a server certificates collection
  9008. #account_aliases
  9009. returns an account alias collection
  9010. #virtual_mfa_devices
  9011. returns a virtual mfa devices collection
  9012. #account_alias
  9013. returns the first account alias
  9014. #account_alias=
  9015. replaces the account alias
  9016. deletes the account alias if received nil
  9017. #remove_account_alias
  9018. calls delete on the current account alias
  9019. #account_summary
  9020. calls get_account_summary
  9021. returns a hash with symbol-ized keys
  9022. #change_password
  9023. calls #change_password on the client
  9024. #update_account_password_policy
  9025. calss #update_account_password_policy on the client
  9026. #delete_account_password_policy
  9027. calls #delete_account_password_policy with no options
  9028. #account_password_policy
  9029. returns the policy as a hash
  9030. returns nil if there is no policy
  9031. AWS::Rails
  9032. Rails Integration
  9033. log_to_rails_logger
  9034. uses Rails.logger for rails 3+
  9035. uses RAILS_DEFUALT_LOGGER for older rails
  9036. add_action_mailer_delivery_method
  9037. adds an :amazon_ses delivery method
  9038. uses an ActiveSupport lazy load hook
  9039. returns nil
  9040. older rails
  9041. defines a method for older versions of rails
  9042. the added method calls send_raw_email
  9043. AWS::Record::Attributes::StringAttr
  9044. behaves like aws record attribute
  9045. #name
  9046. returns the attribute name
  9047. stringifies the name
  9048. #options
  9049. returns the options the object was constructed with
  9050. dups the options internally
  9051. #type_cast
  9052. returns nil as nil
  9053. returns empty string as nil
  9054. #serialize
  9055. raises an exception when serializing nil
  9056. #type_cast
  9057. returns nil as nil
  9058. converts empty string to nil
  9059. can preserve empty string
  9060. returns strings unmodified
  9061. calls #to_s on other objects
  9062. #serialize
  9063. accepts string objects
  9064. raises argument error for non-string objects
  9065. returns strings unmodified
  9066. AWS::Record::Attributes::IntegerAttr
  9067. behaves like aws record attribute
  9068. #name
  9069. returns the attribute name
  9070. stringifies the name
  9071. #options
  9072. returns the options the object was constructed with
  9073. dups the options internally
  9074. #type_cast
  9075. returns nil as nil
  9076. returns empty string as nil
  9077. #serialize
  9078. raises an exception when serializing nil
  9079. #type_cast
  9080. returns nil as nil
  9081. converts empty string to nil
  9082. returns integers unmodified
  9083. deals with negative numbers
  9084. calls #to_i on other objects
  9085. #serialize
  9086. accepts integer objects
  9087. raises argument error for non-integer objects
  9088. returns integers as integers
  9089. returns negative integers as strings
  9090. AWS::Record::Model::Attributes::SortableIntegerAttr
  9091. behaves like aws record attribute
  9092. #name
  9093. returns the attribute name
  9094. stringifies the name
  9095. #options
  9096. returns the options the object was constructed with
  9097. dups the options internally
  9098. #type_cast
  9099. returns nil as nil
  9100. returns empty string as nil
  9101. #serialize
  9102. raises an exception when serializing nil
  9103. #type_cast
  9104. returns nil as nil
  9105. converts empty string to nil
  9106. returns integers unmodified
  9107. deals with negative numbers
  9108. calls #to_i on other objects
  9109. #serialize
  9110. raises an argument error for missing range
  9111. raises argument error for non-integer objects
  9112. raises argument error for integers outside the range
  9113. returns integers as strings
  9114. zero-pads integers for lexicographical sorting
  9115. offsets negative numbers to be positive based on range
  9116. AWS::Record::Attributes::FloatAttr
  9117. behaves like aws record attribute
  9118. #name
  9119. returns the attribute name
  9120. stringifies the name
  9121. #options
  9122. returns the options the object was constructed with
  9123. dups the options internally
  9124. #type_cast
  9125. returns nil as nil
  9126. returns empty string as nil
  9127. #serialize
  9128. raises an exception when serializing nil
  9129. #type_cast
  9130. returns nil as nil
  9131. converts empty string to nil
  9132. returns floats unmodified
  9133. handles negative floats
  9134. calls #to_f on other objects
  9135. #serialize
  9136. accepts float objects
  9137. raises argument error for non-integer objects
  9138. returns floats as floats
  9139. returns negative floats as floats
  9140. AWS::Record::Model::Attributes::SortableFloatAttr
  9141. behaves like aws record attribute
  9142. #name
  9143. returns the attribute name
  9144. stringifies the name
  9145. #options
  9146. returns the options the object was constructed with
  9147. dups the options internally
  9148. #type_cast
  9149. returns nil as nil
  9150. returns empty string as nil
  9151. #serialize
  9152. raises an exception when serializing nil
  9153. #type_cast
  9154. returns nil as nil
  9155. converts empty string to nil
  9156. returns floats unmodified
  9157. handles negative floats
  9158. calls #to_f on other objects
  9159. #serialize
  9160. raises argument error for non-float values
  9161. raises an error if the value is outside the range
  9162. zero-pads floats
  9163. handles arbitrary decimal percision
  9164. ignores trailing float zeros
  9165. zero pads and offsets float values (especially negatives)
  9166. AWS::Record::Attributes::DateAttr
  9167. behaves like aws record attribute
  9168. #name
  9169. returns the attribute name
  9170. stringifies the name
  9171. #options
  9172. returns the options the object was constructed with
  9173. dups the options internally
  9174. #type_cast
  9175. returns nil as nil
  9176. returns empty string as nil
  9177. #serialize
  9178. raises an exception when serializing nil
  9179. #type_cast
  9180. returns nil as nil
  9181. converts empty string to nil
  9182. returns Date objects unmodified
  9183. treats integers as timestamps
  9184. uses Date.parse on the string value of everything else
  9185. #serialize
  9186. accepts Date objects
  9187. raises argument error for non-DateTime objects
  9188. returns dates as strings
  9189. AWS::Record::Attributes::DateTimeAttr
  9190. behaves like aws record attribute
  9191. #name
  9192. returns the attribute name
  9193. stringifies the name
  9194. #options
  9195. returns the options the object was constructed with
  9196. dups the options internally
  9197. #type_cast
  9198. returns nil as nil
  9199. returns empty string as nil
  9200. #serialize
  9201. raises an exception when serializing nil
  9202. #type_cast
  9203. returns nil as nil
  9204. converts empty string to nil
  9205. returns DateTime objects unmodified
  9206. treats integers as timestamps
  9207. uses DateTime.parse on the string value of everything else
  9208. #serialize
  9209. accepts DateTime objects
  9210. raises argument error for non-DateTime objects
  9211. returns datetimes as strings
  9212. AWS::Record::Attributes::BooleanAttr
  9213. behaves like aws record attribute
  9214. #name
  9215. returns the attribute name
  9216. stringifies the name
  9217. #options
  9218. returns the options the object was constructed with
  9219. dups the options internally
  9220. #type_cast
  9221. returns nil as nil
  9222. returns empty string as nil
  9223. #serialize
  9224. raises an exception when serializing nil
  9225. #type_cast
  9226. returns nil as nil
  9227. converts empty string to nil
  9228. returns false unmodified
  9229. returns everything else as true
  9230. #serialize
  9231. accepts true values
  9232. accepts false values
  9233. raises argument error for non-boolean values
  9234. serializes true to the integer 1
  9235. serializes false to the integer 0
  9236. AWS::Record::Model
  9237. create_table
  9238. calls create on the table collection
  9239. accepts an optional :shard_name
  9240. prefixes the shard name with AWS::Record.table_prefix
  9241. dynamo_db_table
  9242. returns a table object
  9243. returns a table object with the correct name
  9244. applies the table prefix to the shard name
  9245. configures the schema
  9246. []
  9247. returns an existing record
  9248. populates the shard
  9249. removes the table prefix
  9250. AWS::Record::HashModel
  9251. it should behave like aws record instance
  9252. #new
  9253. returns a new record
  9254. should not be persisted
  9255. accepts a hash of values to assign
  9256. raises an exception if one of the hash keys is not an attribute
  9257. #id
  9258. defaults to nil for new records
  9259. #attributes
  9260. returns a hash of attribute names and values
  9261. it uses value override methods
  9262. returns a hash that provides indifferent access
  9263. setter methods
  9264. provides access to previous definition via super
  9265. getter methods
  9266. provides access to previous definition via super
  9267. #[]
  9268. is protected
  9269. gets the typecasted value
  9270. accepts symbol keys
  9271. only accepts valid attribute names
  9272. #[]=
  9273. is protected
  9274. accepts string keys
  9275. accepts symbol keys
  9276. only accepts defined attribute names
  9277. #update_attributes
  9278. accepts string keys
  9279. accepts symbol keys
  9280. raises exception for non-existant attributes
  9281. calls save after bulk updating attributes
  9282. #deleted?
  9283. returns false for new objects
  9284. returns true after the object has been deleted
  9285. #delete
  9286. calls delete_storage
  9287. raises an error for non persisted objects
  9288. raises an error when called on already deleted objects
  9289. #save!
  9290. raises an exception when save returns false
  9291. #save
  9292. returns false unless valid
  9293. after save
  9294. has an id
  9295. should be persisted
  9296. AWS::Record::Model
  9297. it should behave like an aws record base class
  9298. it should behave like record class
  9299. is extendable
  9300. it should behave like shardable
  9301. shard_name
  9302. defaults to the name of the class
  9303. set_shard_name
  9304. changes the default shard name for the class
  9305. is aliased to shard_name=
  9306. is aliased to set_domain_name for backwards compatability
  9307. finds an object via the correct shard (PENDING: No reason given)
  9308. constructing a record from a shard
  9309. returns a new object with the correct shard name
  9310. accepts a shard name via klass.new
  9311. accepts a shard name via klass.shard("shard-name").new
  9312. it should behave like optimistic lockable
  9313. optimistic locking
  9314. adds an integer_attribute with the given name
  9315. defaults the attribute name to version_id
  9316. provides a method to indicate if this class optimistically locks
  9317. standard attribute macros
  9318. string_attr
  9319. returns strings unmodified
  9320. calls to_s on everything else
  9321. behaves like attribute macro
  9322. adds a setter method
  9323. adds a getter method
  9324. defaults value to nil
  9325. defaults empty strings to nil
  9326. returns nil values unmodified for value attributes
  9327. before type cast
  9328. adds a getter method for the raw value
  9329. returns the raw value
  9330. with :default_value
  9331. causes the getter to return the default value
  9332. with :set
  9333. defaults to an empty set
  9334. returns nil values as empty sets for set attributes
  9335. defaults empty strings to an empty set
  9336. accepts an returns proper values
  9337. accepts single values but returns it in a set
  9338. works with :default_value
  9339. before type cast
  9340. returns the value unmodified
  9341. integer_attr
  9342. returns integers unmodified
  9343. calls to_i on everything else
  9344. behaves like attribute macro
  9345. adds a setter method
  9346. adds a getter method
  9347. defaults value to nil
  9348. defaults empty strings to nil
  9349. returns nil values unmodified for value attributes
  9350. before type cast
  9351. adds a getter method for the raw value
  9352. returns the raw value
  9353. with :default_value
  9354. causes the getter to return the default value
  9355. with :set
  9356. defaults to an empty set
  9357. returns nil values as empty sets for set attributes
  9358. defaults empty strings to an empty set
  9359. accepts an returns proper values
  9360. accepts single values but returns it in a set
  9361. works with :default_value
  9362. before type cast
  9363. returns the value unmodified
  9364. float_attr
  9365. returns floats unmodified
  9366. calls to_f on everything else
  9367. behaves like attribute macro
  9368. adds a setter method
  9369. adds a getter method
  9370. defaults value to nil
  9371. defaults empty strings to nil
  9372. returns nil values unmodified for value attributes
  9373. before type cast
  9374. adds a getter method for the raw value
  9375. returns the raw value
  9376. with :default_value
  9377. causes the getter to return the default value
  9378. with :set
  9379. defaults to an empty set
  9380. returns nil values as empty sets for set attributes
  9381. defaults empty strings to an empty set
  9382. accepts an returns proper values
  9383. accepts single values but returns it in a set
  9384. works with :default_value
  9385. before type cast
  9386. returns the value unmodified
  9387. boolean_attr
  9388. returns booleans unmodified
  9389. returns nil unmodified
  9390. adds a question mark method
  9391. behaves like attribute macro
  9392. adds a setter method
  9393. adds a getter method
  9394. defaults value to nil
  9395. defaults empty strings to nil
  9396. returns nil values unmodified for value attributes
  9397. before type cast
  9398. adds a getter method for the raw value
  9399. returns the raw value
  9400. with :default_value
  9401. causes the getter to return the default value
  9402. datetime_attr
  9403. returns date time objects unmodified
  9404. treats integers as timestamps
  9405. converts time objects
  9406. converts date objects
  9407. parses the string value of everything else
  9408. behaves like attribute macro
  9409. adds a setter method
  9410. adds a getter method
  9411. defaults value to nil
  9412. defaults empty strings to nil
  9413. returns nil values unmodified for value attributes
  9414. before type cast
  9415. adds a getter method for the raw value
  9416. returns the raw value
  9417. with :default_value
  9418. causes the getter to return the default value
  9419. with :set
  9420. defaults to an empty set
  9421. returns nil values as empty sets for set attributes
  9422. defaults empty strings to an empty set
  9423. accepts an returns proper values
  9424. accepts single values but returns it in a set
  9425. works with :default_value
  9426. before type cast
  9427. returns the value unmodified
  9428. timestamps
  9429. adds 2 datetime_attr values
  9430. AWS::Record::Model
  9431. behaves like aws record
  9432. blanking out attributes on existing records
  9433. marks attributes for deletion during save
  9434. marks attributes for deletion next to regular updates
  9435. follows the update up with a delete to remove deletion markers
  9436. treates attributes marked for deletion as blank
  9437. AWS::Record::Model
  9438. create_domain
  9439. should call create on the domain collection
  9440. accepts an override for the shard name
  9441. sdb_domain
  9442. returns a sdb domain object
  9443. returns a domain with the record class shard name
  9444. returns a domain with a prefixed shard name when configured
  9445. it should behave like record class
  9446. sortable_integer_attr
  9447. requires :range
  9448. requires :range to be an integer range
  9449. returns integers unmodified
  9450. calls to_i on everything else
  9451. raises runtime error when value falls outside range
  9452. behaves like attribute macro
  9453. adds a setter method
  9454. adds a getter method
  9455. defaults value to nil
  9456. defaults empty strings to nil
  9457. returns nil values unmodified for value attributes
  9458. before type cast
  9459. adds a getter method for the raw value
  9460. returns the raw value
  9461. with :default_value
  9462. causes the getter to return the default value
  9463. with :set
  9464. defaults to an empty set
  9465. returns nil values as empty sets for set attributes
  9466. defaults empty strings to an empty set
  9467. accepts an returns proper values
  9468. accepts single values but returns it in a set
  9469. works with :default_value
  9470. before type cast
  9471. returns the value unmodified
  9472. sortable_float_attr
  9473. requires :range
  9474. requires :range to be an integer range
  9475. returns floats unmodified
  9476. calls to_i on everything else
  9477. raises runtime error when value falls outside range
  9478. behaves like attribute macro
  9479. adds a setter method
  9480. adds a getter method
  9481. defaults value to nil
  9482. defaults empty strings to nil
  9483. returns nil values unmodified for value attributes
  9484. before type cast
  9485. adds a getter method for the raw value
  9486. returns the raw value
  9487. with :default_value
  9488. causes the getter to return the default value
  9489. with :set
  9490. defaults to an empty set
  9491. returns nil values as empty sets for set attributes
  9492. defaults empty strings to an empty set
  9493. accepts an returns proper values
  9494. accepts single values but returns it in a set
  9495. works with :default_value
  9496. before type cast
  9497. returns the value unmodified
  9498. []
  9499. returns an existing record
  9500. populates the shard
  9501. removes the domain prefix
  9502. returns an object with the correct id
  9503. returns an object that is already persisted
  9504. raises an exception if the item is not found in sdb
  9505. it blanks out default values during hydration
  9506. returns an object with the correct attributes
  9507. ignores attributes not configured
  9508. all
  9509. returns a scope for all records
  9510. passes options
  9511. find
  9512. :all
  9513. should return a scope object
  9514. should return a scope object with the correct base class
  9515. should pass find options to the scope
  9516. :first
  9517. returns nil when no data is found
  9518. should return an instance of the base class
  9519. should proxy find to the scope
  9520. with options
  9521. :limit
  9522. should pass limit to the item collection
  9523. :where
  9524. should pass string where conditions to the item collection
  9525. should pass hash where conditions to the item collection
  9526. should pass where conditions to the item collection
  9527. :order
  9528. should pass order to the item collection
  9529. should pass order directionality to the item collection
  9530. should accept order as a string
  9531. count
  9532. should call .find and count the result
  9533. should pass options to Scope#count
  9534. first
  9535. should limit the scope to 1 item
  9536. calls .find with options
  9537. AWS::Record::Model
  9538. dirty tracking
  9539. behaves like aws record
  9540. #attribute_changed?
  9541. returns false on a newly created object
  9542. returns false for attributes populated with default values
  9543. returns false if the attribute has been set to the same value
  9544. returns true when the value has been changed
  9545. #attribute_change
  9546. returns nil when the attribute has not been changed
  9547. returns the old and new values for changed attributes
  9548. keeps track of the original old value, not the previous
  9549. returns the typecasted values (as passed through getters)
  9550. #attribute_was
  9551. returns the previous value
  9552. keeps track of the original value (rather than the previous)
  9553. #reset_attribute!
  9554. resets the value clearing changes
  9555. resets the value back to the default value on new objects
  9556. #attribute_will_change!
  9557. is called before inplace editing an attribute to track changes
  9558. #changed?
  9559. returns true if the object has any dirty attributes
  9560. #changed
  9561. returns an arry of dirty attribute names
  9562. #changes
  9563. returns an arry of attribute changes (names => [old, new])
  9564. AWS::Record::Model
  9565. behaves like aws record
  9566. empty records
  9567. new record
  9568. raises an error when trying to create an empty record
  9569. does not consider a record with timestamps empty
  9570. does not consider a record with optimstic locking empty
  9571. existing record
  9572. does not raise an error for unmodified records
  9573. raises an error if all object attributes are blanked out
  9574. raises an error if if not all attributes had to change
  9575. AWS::Record::Model
  9576. #errors
  9577. returns an Errors object
  9578. always returns the same Errors object
  9579. AWS::Record::Errors
  9580. is enumerable
  9581. #add
  9582. adds an error message
  9583. allows you to add mulitple errors to a single attribute
  9584. returns all of the errors messages for this attr
  9585. defaults the message to "is invalid"
  9586. #add_to_base
  9587. add a message
  9588. #on
  9589. returns errors added to an attribute
  9590. provides indifferent access to the errors
  9591. #[]=
  9592. is the same as #add
  9593. #[]
  9594. is the same as #on
  9595. #empty?
  9596. returns true when there are no errors
  9597. returns false when there are errors
  9598. #count
  9599. returns the number of errors
  9600. #full_messages
  9601. returns errors formatted like sentances
  9602. does some simple inflections to capitalize the attribute
  9603. #each
  9604. yields attributes and error messages
  9605. #to_hash
  9606. returns errors hashed by their attribute names
  9607. #clear!
  9608. removes all error messges
  9609. AWS::Record::Model
  9610. behaves like aws record instance
  9611. #new
  9612. returns a new record
  9613. should not be persisted
  9614. accepts a hash of values to assign
  9615. raises an exception if one of the hash keys is not an attribute
  9616. #id
  9617. defaults to nil for new records
  9618. #attributes
  9619. returns a hash of attribute names and values
  9620. it uses value override methods
  9621. returns a hash that provides indifferent access
  9622. setter methods
  9623. provides access to previous definition via super
  9624. getter methods
  9625. provides access to previous definition via super
  9626. #[]
  9627. is protected
  9628. gets the typecasted value
  9629. accepts symbol keys
  9630. only accepts valid attribute names
  9631. #[]=
  9632. is protected
  9633. accepts string keys
  9634. accepts symbol keys
  9635. only accepts defined attribute names
  9636. #update_attributes
  9637. accepts string keys
  9638. accepts symbol keys
  9639. raises exception for non-existant attributes
  9640. calls save after bulk updating attributes
  9641. #deleted?
  9642. returns false for new objects
  9643. returns true after the object has been deleted
  9644. #delete
  9645. calls delete_storage
  9646. raises an error for non persisted objects
  9647. raises an error when called on already deleted objects
  9648. #save!
  9649. raises an exception when save returns false
  9650. #save
  9651. returns false unless valid
  9652. after save
  9653. has an id
  9654. should be persisted
  9655. behaves like aws record
  9656. instance object
  9657. #new
  9658. returns a new record
  9659. should not be persisted
  9660. accepts a hash of values to assign
  9661. raises an exception if one of the hash keys is not an attribute
  9662. accepts a :domain string
  9663. accepts :domain object
  9664. #id
  9665. defaults to nil for new records
  9666. #domain
  9667. defaults to the klass domain
  9668. can be set as a contructor arg
  9669. can be set with a string key
  9670. can be chained with the domain scope
  9671. is read only
  9672. can not be set after construction
  9673. can not be updated
  9674. #attributes=
  9675. accepts string keys
  9676. accepts symbol keys
  9677. raises exception for non-existant attributes
  9678. accepts multiple values
  9679. #attributes
  9680. returns a hash of attribute names and values
  9681. it uses value override methods
  9682. includes the id for saved records
  9683. returns set attributes as sets
  9684. returns a hash that provides indifferent access
  9685. setter methods
  9686. provides access to previous definition via super
  9687. getter methods
  9688. provides access to previous definition via super
  9689. #[]
  9690. is protected
  9691. gets the typecasted value
  9692. accepts symbol keys
  9693. only accepts valid attribute names
  9694. #[]=
  9695. is protected
  9696. accepts string keys
  9697. accepts symbol keys
  9698. only accepts defined attribute names
  9699. #update_attributes
  9700. accepts string keys
  9701. accepts symbol keys
  9702. raises exception for non-existant attributes
  9703. calls save after bulk updating attributes
  9704. #deleted?
  9705. returns false for new objects
  9706. returns true after the object has been deleted
  9707. #delete
  9708. calls delete on the sdb_item for persisted objects
  9709. raises an error for non persisted objects
  9710. raises an error when called on already deleted objects
  9711. #save!
  9712. raises an exception when save returns false
  9713. #save
  9714. returns false unless valid
  9715. new records
  9716. calls add
  9717. passes default values
  9718. does not send empty values
  9719. encodes integers as strings
  9720. encodes datetimes as iso8601 string
  9721. encodes integers as strings
  9722. existing records
  9723. calls set on the attributes that are updated
  9724. should not attempt to delete if nothing was blanked out
  9725. after save
  9726. has an id
  9727. should be persisted
  9728. AWS::Record::Model
  9729. behaves like aws record
  9730. optimistic locking
  9731. new records
  9732. sets optmistic attribute to 1 on create
  9733. ensures the optimstic locking attribute is null on create
  9734. existing records
  9735. incrementes the optmistic attribute on update
  9736. sets expectation about the opt locking attr on update
  9737. sets expectations about the opt locking attr on delete
  9738. missing previous version id
  9739. sets expectation about the opt locking attr to be nil
  9740. sets expectations about the opt locking attr on delete
  9741. AWS::Record::Model::Scope
  9742. #domain
  9743. returns a scope object
  9744. limits subsequent scopes to the specified domain
  9745. #new
  9746. returns a new object of the base class
  9747. passes to new the scope domain
  9748. passes :domain option to new
  9749. accepts a the domain option as a string
  9750. passes hash conditions to new
  9751. passes multiple conditions
  9752. does not pass non-hash conditions
  9753. is aliased to #build
  9754. #find
  9755. :all
  9756. returns a scope object
  9757. accepts a where string
  9758. accepts a where string with ? placeholders
  9759. accepts a where string with symbol placeholders
  9760. accepts a where hash condition
  9761. accepts an :order option without direction
  9762. accepts an :order option with direction
  9763. accepts a :limit option
  9764. :first
  9765. limits the find to 1 record
  9766. returns nil when there are no records found
  9767. should return an instance object instead of an enumerable scope
  9768. by id
  9769. gets the item data via get_attributes instead of select
  9770. can also receive a domain name
  9771. #count
  9772. returns the count from the item collection
  9773. accepts a where string
  9774. accepts a where string with ? placeholders
  9775. accepts a where string with symbol placeholders
  9776. accepts a where hash condition
  9777. accepts a :limit option
  9778. #where
  9779. returns a new scope
  9780. returns a different scope
  9781. accepts string where conditions
  9782. accepts hash where conditions
  9783. accepts a string with question mark placeholders
  9784. accepts a string with symbol placeholders
  9785. can be chained
  9786. raises an argument error if nothing is passed
  9787. #order
  9788. returns a new scope
  9789. returns a different scope
  9790. accepts an attribute name and defaults direction to :asc
  9791. accepts a direction with the attribute name
  9792. clobbers previous orders when chained
  9793. raises an argument error if nothing is passed
  9794. #limit
  9795. returns a new scope
  9796. returns a different scope
  9797. accepts an integer limit
  9798. accepts a string limit
  9799. clobbers previous limits when chained
  9800. raises an argument error if nothing is passed
  9801. named scope
  9802. should define a method on the klass
  9803. the defined method should return a scope object
  9804. the defined method should return a scope object for this class
  9805. the defined method should return a scope object for this class
  9806. #each
  9807. returns an enumerator when no block is given
  9808. should select all attributes from the domain
  9809. should yield once for each item
  9810. should yield instances of the base class
  9811. named scopes
  9812. can use scopes defined in the base class
  9813. can chain named scopes with select
  9814. can chain named scopes with where
  9815. can chain named scopes with order
  9816. can chain named scopes with limit
  9817. can chain named scopes with other named scopes
  9818. defines a scope that can be suffixed by find
  9819. with blocks
  9820. can accept a param
  9821. can accept multiple params
  9822. can call other named scopes
  9823. can chain named scopes with other named scopes
  9824. correctly merges nested scopes
  9825. defines a scope that can be suffixed by find
  9826. AWS::Record::Model
  9827. behaves like aws record
  9828. timestamps
  9829. new record
  9830. auto populates created_at and updated_at
  9831. will not replace manually assigned create / update values
  9832. existing record
  9833. touches updated at, but leaves created at alone
  9834. does not touch manually modified updated_at values
  9835. AWS::Record::Model
  9836. it should behave like an aws record base class
  9837. it should behave like record class
  9838. is extendable
  9839. it should behave like shardable
  9840. shard_name
  9841. defaults to the name of the class
  9842. set_shard_name
  9843. changes the default shard name for the class
  9844. is aliased to shard_name=
  9845. is aliased to set_domain_name for backwards compatability
  9846. finds an object via the correct shard (PENDING: No reason given)
  9847. constructing a record from a shard
  9848. returns a new object with the correct shard name
  9849. accepts a shard name via klass.new
  9850. accepts a shard name via klass.shard("shard-name").new
  9851. it should behave like optimistic lockable
  9852. optimistic locking
  9853. adds an integer_attribute with the given name
  9854. defaults the attribute name to version_id
  9855. provides a method to indicate if this class optimistically locks
  9856. standard attribute macros
  9857. string_attr
  9858. returns strings unmodified
  9859. calls to_s on everything else
  9860. behaves like attribute macro
  9861. adds a setter method
  9862. adds a getter method
  9863. defaults value to nil
  9864. defaults empty strings to nil
  9865. returns nil values unmodified for value attributes
  9866. before type cast
  9867. adds a getter method for the raw value
  9868. returns the raw value
  9869. with :default_value
  9870. causes the getter to return the default value
  9871. with :set
  9872. defaults to an empty set
  9873. returns nil values as empty sets for set attributes
  9874. defaults empty strings to an empty set
  9875. accepts an returns proper values
  9876. accepts single values but returns it in a set
  9877. works with :default_value
  9878. before type cast
  9879. returns the value unmodified
  9880. integer_attr
  9881. returns integers unmodified
  9882. calls to_i on everything else
  9883. behaves like attribute macro
  9884. adds a setter method
  9885. adds a getter method
  9886. defaults value to nil
  9887. defaults empty strings to nil
  9888. returns nil values unmodified for value attributes
  9889. before type cast
  9890. adds a getter method for the raw value
  9891. returns the raw value
  9892. with :default_value
  9893. causes the getter to return the default value
  9894. with :set
  9895. defaults to an empty set
  9896. returns nil values as empty sets for set attributes
  9897. defaults empty strings to an empty set
  9898. accepts an returns proper values
  9899. accepts single values but returns it in a set
  9900. works with :default_value
  9901. before type cast
  9902. returns the value unmodified
  9903. float_attr
  9904. returns floats unmodified
  9905. calls to_f on everything else
  9906. behaves like attribute macro
  9907. adds a setter method
  9908. adds a getter method
  9909. defaults value to nil
  9910. defaults empty strings to nil
  9911. returns nil values unmodified for value attributes
  9912. before type cast
  9913. adds a getter method for the raw value
  9914. returns the raw value
  9915. with :default_value
  9916. causes the getter to return the default value
  9917. with :set
  9918. defaults to an empty set
  9919. returns nil values as empty sets for set attributes
  9920. defaults empty strings to an empty set
  9921. accepts an returns proper values
  9922. accepts single values but returns it in a set
  9923. works with :default_value
  9924. before type cast
  9925. returns the value unmodified
  9926. boolean_attr
  9927. returns booleans unmodified
  9928. returns nil unmodified
  9929. adds a question mark method
  9930. behaves like attribute macro
  9931. adds a setter method
  9932. adds a getter method
  9933. defaults value to nil
  9934. defaults empty strings to nil
  9935. returns nil values unmodified for value attributes
  9936. before type cast
  9937. adds a getter method for the raw value
  9938. returns the raw value
  9939. with :default_value
  9940. causes the getter to return the default value
  9941. datetime_attr
  9942. returns date time objects unmodified
  9943. treats integers as timestamps
  9944. converts time objects
  9945. converts date objects
  9946. parses the string value of everything else
  9947. behaves like attribute macro
  9948. adds a setter method
  9949. adds a getter method
  9950. defaults value to nil
  9951. defaults empty strings to nil
  9952. returns nil values unmodified for value attributes
  9953. before type cast
  9954. adds a getter method for the raw value
  9955. returns the raw value
  9956. with :default_value
  9957. causes the getter to return the default value
  9958. with :set
  9959. defaults to an empty set
  9960. returns nil values as empty sets for set attributes
  9961. defaults empty strings to an empty set
  9962. accepts an returns proper values
  9963. accepts single values but returns it in a set
  9964. works with :default_value
  9965. before type cast
  9966. returns the value unmodified
  9967. timestamps
  9968. adds 2 datetime_attr values
  9969. AWS::Record::Model
  9970. validates_acceptance_of
  9971. behaves like validation
  9972. adds an error when the value is nil
  9973. adds an error when the value is an empty string
  9974. adds an error when the value is an empty set
  9975. defaults the message to "may not be blank"
  9976. :allow_nil
  9977. skips validation when :allow_nil and it has a nil value
  9978. adds an error message when :allow_nil is false and it is invalid
  9979. :if
  9980. validates :if method returns true
  9981. skips validation :if method returns false
  9982. validates :if block returns true
  9983. skips validation :if block returns false
  9984. :unless
  9985. validates when :unless method returns false
  9986. skips validation when :unelss method returns true
  9987. validates when :unless block returns false
  9988. skips validation when :unelss block returns true
  9989. :on
  9990. accepts :save
  9991. rejects values other than :save, :create, :update
  9992. validates on :create for new records
  9993. skips validation on :create for existing records
  9994. skips validation on :update for new records
  9995. validates on :update for existing records
  9996. :message
  9997. overides the default message
  9998. attribute accessors
  9999. adds a setter when one does not exist
  10000. adds a getter when one does not exist
  10001. does not replace attribute setter when one already exists
  10002. does not replace attribute getter when one already exists
  10003. :allow_nil
  10004. defaults to true
  10005. :accept
  10006. specifies an additional value that is valid
  10007. :message
  10008. defaults to "must be accepted"
  10009. AWS::Record::Model
  10010. validates_confirmation_of
  10011. behaves like validation
  10012. has a sensible default message
  10013. plays nicely with an :if attribute changed condition
  10014. validates nil confirmation values if told to
  10015. accepts matching values
  10016. :if
  10017. validates :if method returns true
  10018. skips validation :if method returns false
  10019. validates :if block returns true
  10020. skips validation :if block returns false
  10021. :unless
  10022. validates when :unless method returns false
  10023. skips validation when :unelss method returns true
  10024. validates when :unless block returns false
  10025. skips validation when :unelss block returns true
  10026. :on
  10027. accepts :save
  10028. rejects values other than :save, :create, :update
  10029. validates on :create for new records
  10030. skips validation on :create for existing records
  10031. skips validation on :update for new records
  10032. validates on :update for existing records
  10033. :message
  10034. overides the default message
  10035. accesors
  10036. adds accessors when they dont already exist
  10037. does not replace existing accessors
  10038. AWS::Record::Model
  10039. validates_confirmation_of
  10040. behaves like validation
  10041. :if
  10042. validates :if method returns true
  10043. skips validation :if method returns false
  10044. validates :if block returns true
  10045. skips validation :if block returns false
  10046. :unless
  10047. validates when :unless method returns false
  10048. skips validation when :unelss method returns true
  10049. validates when :unless block returns false
  10050. skips validation when :unelss block returns true
  10051. :on
  10052. accepts :save
  10053. rejects values other than :save, :create, :update
  10054. validates on :create for new records
  10055. skips validation on :create for existing records
  10056. skips validation on :update for new records
  10057. validates on :update for existing records
  10058. :message
  10059. overides the default message
  10060. single-valued attributes
  10061. counts nil as zero
  10062. counts other objects as 1
  10063. options
  10064. gripes when you specify :message
  10065. gripes when no count options are passed
  10066. only accepts ranges for :within
  10067. only accepts integers for :exactly
  10068. only accepts integers for :minimum
  10069. only accepts integers for :maximum
  10070. only accepts ranges for :within
  10071. accepts :exactly with nothing else
  10072. rejects :exactly with other option
  10073. accepts :within with nothing else
  10074. rejects :within with other option
  10075. accepts :minimum with :maximum
  10076. :exactly
  10077. counts singular nil values as zero
  10078. counts singular nil values as zero
  10079. counts strings as 1
  10080. askes for #count from enumerables
  10081. accepts sets of the correct length
  10082. rejects sets of incorrect length
  10083. :within
  10084. accepts values falling within the range
  10085. rejects values falling outside the range
  10086. :minimum
  10087. accepts values falling within the range
  10088. rejects values falling outside the range
  10089. :maximum
  10090. accepts values falling within the range
  10091. rejects values falling outside the range
  10092. :too_few
  10093. defaults to a sensible message
  10094. can be changed
  10095. works with ranges
  10096. :too_many
  10097. defaults to a sensible message
  10098. can be changed
  10099. works with ranges
  10100. :wrong_number
  10101. defaults to a sensible message
  10102. can be changed
  10103. AWS::Record::Model
  10104. validates_exclusion_of
  10105. behaves like validation
  10106. adds an error when the value is not included in the set
  10107. has a sensible default error message
  10108. :allow_nil
  10109. skips validation when :allow_nil and it has a nil value
  10110. adds an error message when :allow_nil is false and it is invalid
  10111. :if
  10112. validates :if method returns true
  10113. skips validation :if method returns false
  10114. validates :if block returns true
  10115. skips validation :if block returns false
  10116. :unless
  10117. validates when :unless method returns false
  10118. skips validation when :unelss method returns true
  10119. validates when :unless block returns false
  10120. skips validation when :unelss block returns true
  10121. :on
  10122. accepts :save
  10123. rejects values other than :save, :create, :update
  10124. validates on :create for new records
  10125. skips validation on :create for existing records
  10126. skips validation on :update for new records
  10127. validates on :update for existing records
  10128. :message
  10129. overides the default message
  10130. ranges
  10131. accepts values not included in the range
  10132. rejects values included in the range
  10133. set attributes
  10134. accepts set attributes no values are included
  10135. rejects set attributes values are included
  10136. rejects set attributes if some values are included
  10137. adds one message per invalid value
  10138. multi-valued attributes
  10139. validates all values
  10140. AWS::Record::Model
  10141. validates_format_of
  10142. behaves like validation
  10143. must receive :with or :without
  10144. :allow_nil
  10145. skips validation when :allow_nil and it has a nil value
  10146. adds an error message when :allow_nil is false and it is invalid
  10147. :if
  10148. validates :if method returns true
  10149. skips validation :if method returns false
  10150. validates :if block returns true
  10151. skips validation :if block returns false
  10152. :unless
  10153. validates when :unless method returns false
  10154. skips validation when :unelss method returns true
  10155. validates when :unless block returns false
  10156. skips validation when :unelss block returns true
  10157. :on
  10158. accepts :save
  10159. rejects values other than :save, :create, :update
  10160. validates on :create for new records
  10161. skips validation on :create for existing records
  10162. skips validation on :update for new records
  10163. validates on :update for existing records
  10164. :message
  10165. overides the default message
  10166. :with
  10167. validates the value as a string against the regex
  10168. accepts values that match
  10169. rejects values that do not match
  10170. adds a senible error message
  10171. :without
  10172. validates the value as a string against the regex
  10173. rejects values that match
  10174. accepts values that do not match
  10175. adds a senible error message
  10176. both options
  10177. accepts values that pass both regexes
  10178. rejects values that fail one
  10179. only adds one error message
  10180. multi-valued attributes
  10181. validates all values
  10182. AWS::Record::Model
  10183. validates_inclusion_of
  10184. behaves like validation
  10185. requires :in option
  10186. requires :in to be a range
  10187. adds an error when the value is nil
  10188. adds an error when the value is not included in the set
  10189. has a sensible default error message
  10190. :allow_nil
  10191. skips validation when :allow_nil and it has a nil value
  10192. adds an error message when :allow_nil is false and it is invalid
  10193. :if
  10194. validates :if method returns true
  10195. skips validation :if method returns false
  10196. validates :if block returns true
  10197. skips validation :if block returns false
  10198. :unless
  10199. validates when :unless method returns false
  10200. skips validation when :unelss method returns true
  10201. validates when :unless block returns false
  10202. skips validation when :unelss block returns true
  10203. :on
  10204. accepts :save
  10205. rejects values other than :save, :create, :update
  10206. validates on :create for new records
  10207. skips validation on :create for existing records
  10208. skips validation on :update for new records
  10209. validates on :update for existing records
  10210. :message
  10211. overides the default message
  10212. ranges
  10213. accepts values included in the range
  10214. rejects values not included in the range
  10215. set attributes
  10216. accepts set attributes if all values are included
  10217. rejects set attributes no values are included
  10218. rejects set attributes if some values are not included
  10219. adds one error message per invalid value
  10220. multi-valued attributes
  10221. validates all values
  10222. AWS::Record::Model
  10223. validates_length_of
  10224. behaves like validation
  10225. calls length on the value if it responds to length
  10226. stringifies values that do not respond to length
  10227. counts nil as zero
  10228. :allow_nil
  10229. skips validation when :allow_nil and it has a nil value
  10230. adds an error message when :allow_nil is false and it is invalid
  10231. :if
  10232. validates :if method returns true
  10233. skips validation :if method returns false
  10234. validates :if block returns true
  10235. skips validation :if block returns false
  10236. :unless
  10237. validates when :unless method returns false
  10238. skips validation when :unelss method returns true
  10239. validates when :unless block returns false
  10240. skips validation when :unelss block returns true
  10241. :on
  10242. accepts :save
  10243. rejects values other than :save, :create, :update
  10244. validates on :create for new records
  10245. skips validation on :create for existing records
  10246. skips validation on :update for new records
  10247. validates on :update for existing records
  10248. :message
  10249. overides the default message
  10250. :exactly
  10251. accepts values whos length matches
  10252. rejects values whos length does not match
  10253. adds an error message when the length does not match
  10254. raises an error when :exactly is not an integer
  10255. :within
  10256. accepts value within the range
  10257. rejects values outside the range
  10258. adds an error message when the length is too short
  10259. adds an error message when the length is too long
  10260. raises an error when :within is not a range
  10261. :minimum
  10262. accepts values longer than the min
  10263. accepts values same length as the min
  10264. rejects values shorter than the min
  10265. adds an error message when the length is too short
  10266. raises an error when :minimum is not an integer
  10267. :maximum
  10268. accepts values shorter than the max
  10269. accepts values same length as the max
  10270. rejects values longer than the max
  10271. adds an error message when the length is too long
  10272. raises an error when :maximum is not an integer
  10273. :too_long
  10274. can change the message
  10275. :too_short
  10276. can change the message
  10277. :wrong_length
  10278. can change the message
  10279. multi-valued attributes
  10280. validates all values
  10281. AWS::Record::Model
  10282. validate
  10283. calls the method name during validation
  10284. accepts a method name as a string
  10285. accepts a list of method names
  10286. :if option
  10287. calls the method when the if condition passes
  10288. skips the method when the if condition fails
  10289. accepts :if procs
  10290. fails :if procs
  10291. :unless option
  10292. calls the method when the unless condition fails
  10293. skips the method when the unless condition passes
  10294. accepts :unless procs
  10295. fails :unless procs
  10296. :on option
  10297. calls the method when the on condition is met
  10298. skips the method when the on condition is not
  10299. AWS::Record::Model
  10300. validates_numericality_of
  10301. behaves like validation
  10302. adds sensible default message
  10303. :allow_nil
  10304. skips validation when :allow_nil and it has a nil value
  10305. adds an error message when :allow_nil is false and it is invalid
  10306. :if
  10307. validates :if method returns true
  10308. skips validation :if method returns false
  10309. validates :if block returns true
  10310. skips validation :if block returns false
  10311. :unless
  10312. validates when :unless method returns false
  10313. skips validation when :unelss method returns true
  10314. validates when :unless block returns false
  10315. skips validation when :unelss block returns true
  10316. :on
  10317. accepts :save
  10318. rejects values other than :save, :create, :update
  10319. validates on :create for new records
  10320. skips validation on :create for existing records
  10321. skips validation on :update for new records
  10322. validates on :update for existing records
  10323. :message
  10324. overides the default message
  10325. float_attr
  10326. accepts valid floats
  10327. accepts valid float strings
  10328. validates the value before type cast
  10329. integer_attr
  10330. accepts valid integers
  10331. accepts integer strings
  10332. validates the value before type cast
  10333. string_attr
  10334. validates the numeric representation of the string
  10335. rejects strings that do not convert cleanly
  10336. :only_integer
  10337. may be set to false
  10338. rejects floats
  10339. adds an appropriate error message
  10340. :equal_to
  10341. may not be used with :greater_than
  10342. may not be used with :greater_than_or_equal_to
  10343. may not be used with :less_than
  10344. may not be used with :less_than_or_equal_to
  10345. accepts values that are equal
  10346. rejects values that are not equal
  10347. adds an appropriate error message
  10348. can accept integers
  10349. can accept floats
  10350. can accepts values based on method return value
  10351. can reject values based on method return value
  10352. uses method return value for error message
  10353. can accept values based on block return value
  10354. can reject values based on block return value
  10355. uses block return value for error message
  10356. :greater_than
  10357. accepts integers
  10358. accepts floats
  10359. accepts symbols
  10360. accepts procs
  10361. accepts values that are greater
  10362. rejects values that are not greater
  10363. adds a sensible error message
  10364. accepts custom error messages
  10365. :greater_than_or_equal_to
  10366. accepts integers
  10367. accepts floats
  10368. accepts symbols
  10369. accepts procs
  10370. accepts values that are equal
  10371. accepts values that are greater
  10372. rejects values that are not greater
  10373. adds a sensible error message
  10374. accepts custom error messages
  10375. :less_than
  10376. accepts integers
  10377. accepts floats
  10378. accepts symbols
  10379. accepts procs
  10380. accepts values that are less
  10381. rejects values that are not less
  10382. adds a sensible error message
  10383. accepts custom error messages
  10384. :less_than_or_equal_to
  10385. accepts integers
  10386. accepts floats
  10387. accepts symbols
  10388. accepts procs
  10389. accepts values that are equal
  10390. accepts values that are less
  10391. rejects values that are not less
  10392. adds a sensible error message
  10393. accepts custom error messages
  10394. :odd
  10395. forces integer only
  10396. accepts odd numbers
  10397. rejects even numbers
  10398. does not accept false
  10399. may not be used with :even
  10400. adds an appropriate error message
  10401. :even
  10402. forces integer only
  10403. accepts even numbers
  10404. rejects odd numbers
  10405. does not accept false
  10406. adds an appropriate error message
  10407. :allow_nil
  10408. skips validation when true and the value is nil
  10409. defaults to false
  10410. multiple errors
  10411. can add multiple error messages
  10412. multi-valued attributes
  10413. works with basic sets
  10414. AWS::Record::Model
  10415. validates_presence_of
  10416. behaves like validation
  10417. adds an error when the value is nil
  10418. adds an error when the value is an empty string
  10419. adds an error when the value is an empty set
  10420. defaults the message to "may not be blank"
  10421. :allow_nil
  10422. skips validation when :allow_nil and it has a nil value
  10423. adds an error message when :allow_nil is false and it is invalid
  10424. :if
  10425. validates :if method returns true
  10426. skips validation :if method returns false
  10427. validates :if block returns true
  10428. skips validation :if block returns false
  10429. :unless
  10430. validates when :unless method returns false
  10431. skips validation when :unelss method returns true
  10432. validates when :unless block returns false
  10433. skips validation when :unelss block returns true
  10434. :on
  10435. accepts :save
  10436. rejects values other than :save, :create, :update
  10437. validates on :create for new records
  10438. skips validation on :create for existing records
  10439. skips validation on :update for new records
  10440. validates on :update for existing records
  10441. :message
  10442. overides the default message
  10443. AWS::Record
  10444. domain prefix
  10445. defaults to nil
  10446. can be altered
  10447. table prefix
  10448. defaults to nil
  10449. can be altered
  10450. AWS::S3::AccessControlList
  10451. empty
  10452. should not be valid
  10453. #to_s
  10454. should return an empty AccessControlPolicy element
  10455. validate!
  10456. should raise an error
  10457. #owner=
  10458. behaves like accepts owner input
  10459. should accept nil
  10460. should accept an Owner
  10461. should not accept a different kind of object
  10462. hash input
  10463. should be accepted
  10464. should not be accepted if invalid
  10465. behaves like with an owner
  10466. #owner
  10467. should return the owner
  10468. #to_s
  10469. should include the Owner XML
  10470. behaves like valid ACL
  10471. should be valid
  10472. validate!
  10473. should not raise an error
  10474. invalid owner
  10475. behaves like invalid ACL
  10476. should not be valid
  10477. validate!
  10478. should raise an error
  10479. hash input
  10480. should construct an Owner from the hash
  10481. #grants=
  10482. behaves like accepts grants input
  10483. should not accept nil
  10484. should accept an empty array
  10485. should accept an array of Grant objects
  10486. should not accept an array of other kinds of objects
  10487. hash input
  10488. should be accepted
  10489. should be not be accepted if invalid
  10490. behaves like with a grant
  10491. #grants
  10492. should return the array of grants
  10493. #to_s
  10494. should include the grant XML
  10495. behaves like valid ACL
  10496. should be valid
  10497. validate!
  10498. should not raise an error
  10499. invalid grant
  10500. behaves like invalid ACL
  10501. should not be valid
  10502. validate!
  10503. should raise an error
  10504. hash input
  10505. should construct a Grant from the hash
  10506. #initialize
  10507. owner option
  10508. behaves like accepts owner input
  10509. should accept nil
  10510. should accept an Owner
  10511. should not accept a different kind of object
  10512. hash input
  10513. should be accepted
  10514. should not be accepted if invalid
  10515. behaves like with an owner
  10516. #owner
  10517. should return the owner
  10518. #to_s
  10519. should include the Owner XML
  10520. behaves like valid ACL
  10521. should be valid
  10522. validate!
  10523. should not raise an error
  10524. invalid owner
  10525. behaves like invalid ACL
  10526. should not be valid
  10527. validate!
  10528. should raise an error
  10529. hash input
  10530. should construct an Owner from the hash
  10531. grants option
  10532. behaves like accepts grants input
  10533. should not accept nil
  10534. should accept an empty array
  10535. should accept an array of Grant objects
  10536. should not accept an array of other kinds of objects
  10537. hash input
  10538. should be accepted
  10539. should be not be accepted if invalid
  10540. behaves like with a grant
  10541. #grants
  10542. should return the array of grants
  10543. #to_s
  10544. should include the grant XML
  10545. behaves like valid ACL
  10546. should be valid
  10547. validate!
  10548. should not raise an error
  10549. invalid grant
  10550. behaves like invalid ACL
  10551. should not be valid
  10552. validate!
  10553. should raise an error
  10554. #grant
  10555. constructs a Grant
  10556. should let you set the grantee
  10557. should add the grant to the list when you set the grantee
  10558. AWS::S3::AccessControlList::Owner
  10559. empty
  10560. #to_s
  10561. should return an empty Owner element
  10562. #validate!
  10563. should raise an error
  10564. with id
  10565. using accessor
  10566. behaves like it has an ID
  10567. #to_s
  10568. should include an ID element
  10569. #validate!
  10570. should not raise an error
  10571. using initializer option
  10572. behaves like it has an ID
  10573. #to_s
  10574. should include an ID element
  10575. #validate!
  10576. should not raise an error
  10577. with a display name
  10578. using accessor
  10579. should escape XML characters
  10580. behaves like it has a display name
  10581. #to_s
  10582. should include a DisplayName element
  10583. #validate!
  10584. should raise an error
  10585. using initializer option
  10586. behaves like it has a display name
  10587. #to_s
  10588. should include a DisplayName element
  10589. #validate!
  10590. should raise an error
  10591. AWS::S3::AccessControlList::Grant
  10592. empty
  10593. #to_s
  10594. should be an empty Grant element
  10595. #validate!
  10596. should raise an error
  10597. with grantee
  10598. using accessor
  10599. should reject a string
  10600. behaves like it has a grantee
  10601. #to_s
  10602. should include the grantee XML
  10603. #validate!
  10604. should raise an error
  10605. with a hash
  10606. should call the Grantee constructor with the hash
  10607. behaves like it has a grantee
  10608. #to_s
  10609. should include the grantee XML
  10610. #validate!
  10611. should raise an error
  10612. using initializer option
  10613. behaves like it has a grantee
  10614. #to_s
  10615. should include the grantee XML
  10616. #validate!
  10617. should raise an error
  10618. with permission
  10619. using accessor
  10620. behaves like it has a permission
  10621. #to_s
  10622. should include the Permission element
  10623. #validate! (with a grantee)
  10624. should not raise an error
  10625. with a symbol
  10626. should call the Permission constructor with the symbol
  10627. behaves like it has a permission
  10628. #to_s
  10629. should include the Permission element
  10630. #validate! (with a grantee)
  10631. should not raise an error
  10632. using initializer option
  10633. behaves like it has a permission
  10634. #to_s
  10635. should include the Permission element
  10636. #validate! (with a grantee)
  10637. should not raise an error
  10638. AWS::S3::AccessControlList::Grantee
  10639. empty
  10640. #to_s
  10641. should contain a Grantee element
  10642. #validate!
  10643. should raise an error
  10644. behaves like has signal attribute
  10645. with amazon_customer_email
  10646. using accessor
  10647. behaves like it has an attribute 'amazon_customer_email'
  10648. #to_s
  10649. should contain a type and an EmailAddress element
  10650. #validate!
  10651. should not raise an error
  10652. using initializer option
  10653. behaves like it has an attribute 'amazon_customer_email'
  10654. #to_s
  10655. should contain a type and an EmailAddress element
  10656. #validate!
  10657. should not raise an error
  10658. behaves like has signal attribute
  10659. with canonical_user_id
  10660. using accessor
  10661. behaves like it has an attribute 'canonical_user_id'
  10662. #to_s
  10663. should contain a type and an EmailAddress element
  10664. #validate!
  10665. should not raise an error
  10666. using initializer option
  10667. behaves like it has an attribute 'canonical_user_id'
  10668. #to_s
  10669. should contain a type and an EmailAddress element
  10670. #validate!
  10671. should not raise an error
  10672. behaves like has signal attribute
  10673. with group_uri
  10674. using accessor
  10675. behaves like it has an attribute 'group_uri'
  10676. #to_s
  10677. should contain a type and an EmailAddress element
  10678. #validate!
  10679. should not raise an error
  10680. using initializer option
  10681. behaves like it has an attribute 'group_uri'
  10682. #to_s
  10683. should contain a type and an EmailAddress element
  10684. #validate!
  10685. should not raise an error
  10686. with display_name
  10687. #to_s
  10688. should contain a DisplayName element
  10689. #validate!
  10690. should not raise an error
  10691. with incompatible signal attribute
  10692. should raise an error
  10693. AWS::S3::AccessControlList::Permission
  10694. #initialize
  10695. should accept a string
  10696. should accept a symbol
  10697. should not accept another kind of object
  10698. #to_s
  10699. should contain a Permission element with the capitalized permission
  10700. #validate!
  10701. should not raise an error
  10702. AWS::S3::BucketCollection
  10703. behaves like an S3 model object
  10704. #initialize
  10705. should not read the client
  10706. #client
  10707. gets the client from the configuration
  10708. #inspect
  10709. should have a short inspect method
  10710. #create
  10711. should call create_bucket with the bucket name
  10712. should return an S3 bucket
  10713. should return a bucket with the correct config
  10714. passes additional options to base client
  10715. passes the acl option to #create_bucket as a string
  10716. passes the grant options to #create_bucket
  10717. sets no location constraint by default
  10718. sets the location constraint to EU when using the eu endpoint
  10719. will not override location constraints set explicitly
  10720. guesses the location constraint for other endpoints
  10721. leaves off the location constraint for non-standard endpoint names
  10722. #each
  10723. should call list_buckets
  10724. should yield a bucket object for each item in the response
  10725. should pass the name, owner and config to the bucket constructor
  10726. AWS::S3::BucketLifecycleConfiguration
  10727. #rules
  10728. returns an array of rule objects
  10729. rescues no-lifecycle-errors and returns an empty list of rules
  10730. #add_rule
  10731. returns a rule object
  10732. returns a rule with the correct prefix
  10733. returns a rule with the expiration days
  10734. returns a rule with a auto-generated uuid
  10735. returns a rule with the status enaabled
  10736. can accept a user provided id
  10737. can be disabled
  10738. #remove_rule
  10739. can be used to remove a rule object
  10740. can be used to remove a rule by id
  10741. #update
  10742. persists the current rule set to s3
  10743. can be called in block form
  10744. #replace
  10745. blanks out the existing rules before yielding
  10746. deletes the lifecycle config if there are no rules
  10747. #clear
  10748. deletes the lifecycle configuration
  10749. AWS::S3::Bucket
  10750. behaves like an S3 model object
  10751. #initialize
  10752. should not read the client
  10753. #client
  10754. gets the client from the configuration
  10755. #inspect
  10756. should have a short inspect method
  10757. behaves like it has an ACL
  10758. #acl=
  10759. passes along canned acls symbols as strings
  10760. passes along non-xml strings as canned acls
  10761. passes along xml as an AccessControlList as xml
  10762. passes xml strings along as :access_control_policy
  10763. passes along a hash grant
  10764. translates grants
  10765. raises an error if the grant hashes grantees have more than 1 key
  10766. raises an argument error for anything else
  10767. #acl
  10768. should construct a new acl from the response data
  10769. should return the acl in the client response
  10770. should add a #change method
  10771. #change
  10772. should yield the ACL
  10773. should call set_bucket_acl at the end of the block
  10774. #url
  10775. with dns safe name
  10776. should put the bucket name in the host
  10777. with dns compat name but not for requests
  10778. should put the bucket name in the path
  10779. with non-dns safe name
  10780. should put the bucket name in the path
  10781. #lifecycle_configuration
  10782. returns a lifecycle configuration for this bucket
  10783. does not make any requests against the client
  10784. #lifecycle_configuration=
  10785. calls delete when you pass nil
  10786. passes strings along to set_bucket_lifecycle_configuration
  10787. calls #to_xml on non-string objects
  10788. updates the cached lifecycle configuration
  10789. #empty?
  10790. returns true if the bucket has no versions
  10791. returns true if the bucket has no versions
  10792. #delete
  10793. should call delete_bucket on the client with the bucket name
  10794. #clear!
  10795. should delete the bucket objects in batches
  10796. #delete!
  10797. should clear the bucket and then delete the bucket
  10798. #owner
  10799. should call list_buckets on the client
  10800. returned object
  10801. should use the owner id from the response
  10802. should use the display name from the response
  10803. when hydrated
  10804. should not call list_buckets on the client
  10805. should return the hydrated value
  10806. versioning
  10807. #versions
  10808. returns a bucket version collection
  10809. returns collection with the correct bucket
  10810. returns collection with the correct client
  10811. #enable_versioning
  10812. calls set_bucket_versioning with :enabled
  10813. #suspend_versioning
  10814. calls set_bucket_versioning with :suspended
  10815. #versioning_enabled?
  10816. calls get_bucket_versioning with the bucket name
  10817. returns true if bucket versioning is :enabled
  10818. returns false if bucket versioning is :suspended
  10819. returns false if bucket versioning is nil
  10820. provides a #versioned? alias
  10821. #versioning_state
  10822. calls get_bucket_versioning with the bucket name
  10823. returns the status from get_bucket_versioning
  10824. #objects
  10825. should return an object collection
  10826. should return a collection with the correct bucket
  10827. should return a collection with the correct config
  10828. #multipart_uploads
  10829. should return a multipart uploads collection
  10830. should return a collection with the correct bucket
  10831. should return a collection with the correct config
  10832. #inspect
  10833. should contain the bucket name
  10834. #eql?
  10835. should identify the same bucket correctly
  10836. should identify buckets with the same name correctly
  10837. should identify differnt buckets correctly
  10838. #exists?
  10839. should return true we can get bucket versioning for it
  10840. should return false if bucket versioning returns a 404
  10841. should not trap other errors
  10842. #as_tree
  10843. should call as_tree on the object collection
  10844. should pass additional options to ObjectCollection#as_tree
  10845. #policy=
  10846. should call set_bucket_policy on the client
  10847. #policy
  10848. should call get_bucket_policy on the client
  10849. should return the policy
  10850. should add a #change method
  10851. should return nil when there is no policy
  10852. should add a #delete method
  10853. #change
  10854. should yield the policy object
  10855. should set the policy after the block is done
  10856. #delete
  10857. should call delete_bucket_policy on the client
  10858. #location_constraint
  10859. returns the location_constraint
  10860. #presigned_post
  10861. returns a PresignedPost object
  10862. should pass additional options
  10863. AWS::S3::BucketVersionCollection
  10864. it should behave like an S3 model object
  10865. #initialize
  10866. should not read the client
  10867. #client
  10868. gets the client from the configuration
  10869. #inspect
  10870. should have a short inspect method
  10871. it should behave like an S3 tree-like collection
  10872. behaves like an S3 prefixed collection
  10873. #prefix
  10874. defaults to nil
  10875. can be passed to initialize
  10876. #with_prefix
  10877. gripes about other modes
  10878. should be chainable
  10879. should be chainable without altering parent collection
  10880. should pass the config
  10881. #each
  10882. should pass the prefix when there is one
  10883. #as_tree
  10884. should return a Tree object
  10885. should pass any additional options
  10886. should pass the collection prefix by default
  10887. should allow the prefix to be overridden
  10888. #each
  10889. should pass the delimiter if provided
  10890. common prefixes
  10891. should yield a new collection for each prefix
  10892. should pass the config
  10893. behaves like an S3 paginated collection
  10894. #each
  10895. should call the list method
  10896. should pass a default batch size
  10897. should request the next page for a truncated response
  10898. limits
  10899. should limit by the batch size if it is smaller than the limit
  10900. should limit by the provided limit if it is smaller than the batch size
  10901. it should behave like enumerable
  10902. should not read the client
  10903. #intialize
  10904. requires bucket
  10905. #[]
  10906. does not respond to #[]
  10907. #each
  10908. calls #list_object_versions on the client
  10909. calls list_object_versions while the list is truncated
  10910. yields once for each version
  10911. yields object versions
  10912. correctly populates delete marker states
  10913. #with_prefix
  10914. calls #list_object_versions with a prefix
  10915. replaces prefixes by default
  10916. can replace prefixes
  10917. can append prefixes
  10918. can prepend prefixes
  10919. #latest
  10920. should return the first object
  10921. #<AWS::Core::XML::Grammar:0x71d39e747aa0>
  10922. one bucket
  10923. should expose owner ID and display name
  10924. should expose a list of buckets
  10925. should expose the bucket name and creation date
  10926. two buckets
  10927. should expose a list of buckets
  10928. should expose the correct names and creation dates
  10929. no buckets
  10930. should expose an empty list of buckets
  10931. #<AWS::Core::XML::Grammar:0x71d39e7461c8>
  10932. one grant
  10933. should add an acl attribute
  10934. #<AWS::Core::XML::Grammar:0x71d39e742b18>
  10935. one contents
  10936. should expose Name as bucket_name
  10937. should expose Prefix as prefix
  10938. should expose Marker as marker
  10939. should expose MaxKeys as a numeric max_keys
  10940. should always respond to delimiter
  10941. should expose IsTruncated as boolean truncated?
  10942. should expose Contents as an array
  10943. should have 2 contents entries
  10944. should expose Contents\Key as .key
  10945. should expose Contents\LastModified as Time .last_modified
  10946. should expose Contents\ETag as etag
  10947. should expose Contents\Owner\ID as .owner.id
  10948. should expose Contents\Owner\DisplayName as .owner.id
  10949. it should behave like s3 xml returns common prefixes
  10950. common prefixes
  10951. should always respond to common prefixes as an array
  10952. groups common prefixes into an array
  10953. flatttens CommonPrefix.Prefix to #common_prefixes
  10954. #<AWS::Core::XML::Grammar:0x71d39e739b08>
  10955. reports enabled as a symbol
  10956. reports suspended as a symbol
  10957. reports never enabled/suspended as :unversioned
  10958. #<AWS::Core::XML::Grammar:0x71d39e7397c0>
  10959. should always have an NextKeyMarker method
  10960. should always have an NextVersionIdMarker method
  10961. should make MaxKeys an integer
  10962. should make IsTruncated a boolean truncated?
  10963. should combine versions and delete markers
  10964. Delete markers
  10965. should respond to #delete_marker? with true
  10966. should respond to #version? with false
  10967. should respond to #latest? with a boolean
  10968. should respond to #last_modified? with a date time
  10969. should not respond to #etag
  10970. should not respond to #size
  10971. should not respond to #storage_class
  10972. Versions
  10973. should respond to #delete_marker? with false
  10974. should respond to #version? with true
  10975. should respond to #latest? with a boolean
  10976. should respond to #last_modified? with a date time
  10977. should symbolze the storage class STANDARD to :standard
  10978. should respond to #size with an integer
  10979. should respond to #etag with a quoted string
  10980. it should behave like s3 xml returns common prefixes
  10981. common prefixes
  10982. should always respond to common prefixes as an array
  10983. groups common prefixes into an array
  10984. flatttens CommonPrefix.Prefix to #common_prefixes
  10985. #<AWS::Core::XML::Grammar:0x71d39e726a80>
  10986. should respond to upload_id
  10987. should respond to bucket
  10988. should respond to key
  10989. #<AWS::Core::XML::Grammar:0x71d39e724e60>
  10990. should expose a truncated? method
  10991. should return a number for max_uploads
  10992. should expose an uploads list
  10993. should force the next_*_marker methods
  10994. uploads
  10995. should expose storage_class as a symbol
  10996. should expose initiated as a DateTime
  10997. it should behave like s3 xml returns common prefixes
  10998. common prefixes
  10999. should always respond to common prefixes as an array
  11000. groups common prefixes into an array
  11001. flatttens CommonPrefix.Prefix to #common_prefixes
  11002. #<AWS::Core::XML::Grammar:0x71d39e716068>
  11003. should expose storage_class as a symbol
  11004. should expose truncated? as a boolean
  11005. should expose part_number_marker as an integer
  11006. should expose next_part_number_marker as an integer
  11007. should expose max_parts as an integer
  11008. should expose parts as an array
  11009. parts
  11010. should expose part_number as an integer
  11011. should expose last_modified as a DateTime
  11012. should expose size as an integer
  11013. AWS::S3::Client
  11014. should be accessible from the configuration
  11015. it should behave like an aws client
  11016. #initialize
  11017. accepts a config
  11018. #with_options
  11019. should return a new client
  11020. should modify the config on the new client
  11021. should not modify the config on the old client
  11022. #with_http_handler
  11023. should yield request and response objects when a request is made
  11024. should be able to call super to access previous definition
  11025. should set the http_response member to the same instance that was passed to the block
  11026. should set the http_request member to the same instance that was passed to the block
  11027. should pass along exceptions raised from the block
  11028. #create_bucket
  11029. is aliased as create_bucket
  11030. raises argument error for invalid bucket names
  11031. adds location constraints to request body
  11032. accepts :acl as a symbol converting it to a string with dashes
  11033. it should behave like requires bucket_name
  11034. raises argument error for blank bucket name
  11035. raises argument error missing bucket name
  11036. uses the hostname s3.amazonaws.com
  11037. puts dns incompatible bucket name in the uri
  11038. puts dns compat bucket name in the host
  11039. it should behave like an s3 http request
  11040. it should behave like an aws http request
  11041. with the proper http verb
  11042. should set use_ssl to the current config use_ssl? value
  11043. should set ssl_verify_peer to the current config ssl_verify_peer? value
  11044. should set ssl_ca_file to the current config ssl_ca_file value
  11045. populates the response with the request options
  11046. raises client errors for errors that can not be retried
  11047. raises client errors for 4xx response codes with a nil response body
  11048. does not retry client errors
  11049. retry requests that respond with 500
  11050. retry requests that respond with 503
  11051. retry throttled requests that respond with 400
  11052. retry timeout errors
  11053. should retry at most 3 times
  11054. should build a new request for each retry
  11055. should retry more times if configured
  11056. should re-raise the server error after retries fail
  11057. should re-raise the timeout error after retries fail
  11058. should sleep between retries
  11059. it backs off exponentially
  11060. it uses a randomized scaling factor for throttled requests
  11061. it should behave like supports async option
  11062. asynchronous
  11063. should call handle_async on the handler
  11064. should return a kind of async handle
  11065. should call the success callback on handler success
  11066. should call the failure callback on handler failure
  11067. should make an error available on handler failure
  11068. should call the failure callback on service failure
  11069. should retry service errors
  11070. should retry timeouts
  11071. should build a new request for each retry
  11072. user_agent
  11073. should set the user_agent header
  11074. should prefix the user agent when configured
  11075. memoization status
  11076. should not include "memoizing" if memoization is disabled
  11077. should include "memoizing" if memoization is enabled
  11078. endpoint
  11079. should default the endpoint given in the client config
  11080. user agent
  11081. should send a user-agent header
  11082. stubbing
  11083. should not call handle
  11084. logging
  11085. should log the client request
  11086. should log server errors
  11087. signing
  11088. should call add_authorization! on the request
  11089. should call add_authorization! with the credential provider
  11090. caching enabled
  11091. should add the low-level response object to the cache
  11092. should not cache on failure
  11093. asynchronous
  11094. should add the response on success
  11095. should not cache on failure
  11096. exceptions
  11097. should raise modeled exceptions for unsuccessful requests
  11098. it should behave like an s3 error response with no body
  11099. should raise an instance of AWS::S3::Errors::NotModified
  11100. should raise an instance of AWS::Errors::ClientError
  11101. it should behave like an s3 error response with no body
  11102. should raise an instance of AWS::S3::Errors::NoSuchKey
  11103. should raise an instance of AWS::Errors::ClientError
  11104. it should behave like accepts simplified ACL header options
  11105. accpets :grant_read
  11106. accpets :grant_write
  11107. accpets :grant_read_acp
  11108. accpets :grant_write_acp
  11109. accpets :grant_write_acp
  11110. accpets :grant_write_acp
  11111. #list_buckets
  11112. it should behave like an s3 http request
  11113. it should behave like an aws http request
  11114. with the proper http verb
  11115. should set use_ssl to the current config use_ssl? value
  11116. should set ssl_verify_peer to the current config ssl_verify_peer? value
  11117. should set ssl_ca_file to the current config ssl_ca_file value
  11118. populates the response with the request options
  11119. raises client errors for errors that can not be retried
  11120. raises client errors for 4xx response codes with a nil response body
  11121. does not retry client errors
  11122. retry requests that respond with 500
  11123. retry requests that respond with 503
  11124. retry throttled requests that respond with 400
  11125. retry timeout errors
  11126. should retry at most 3 times
  11127. should build a new request for each retry
  11128. should retry more times if configured
  11129. should re-raise the server error after retries fail
  11130. should re-raise the timeout error after retries fail
  11131. should sleep between retries
  11132. it backs off exponentially
  11133. it uses a randomized scaling factor for throttled requests
  11134. it should behave like supports async option
  11135. asynchronous
  11136. should call handle_async on the handler
  11137. should return a kind of async handle
  11138. should call the success callback on handler success
  11139. should call the failure callback on handler failure
  11140. should make an error available on handler failure
  11141. should call the failure callback on service failure
  11142. should retry service errors
  11143. should retry timeouts
  11144. should build a new request for each retry
  11145. user_agent
  11146. should set the user_agent header
  11147. should prefix the user agent when configured
  11148. memoization status
  11149. should not include "memoizing" if memoization is disabled
  11150. should include "memoizing" if memoization is enabled
  11151. endpoint
  11152. should default the endpoint given in the client config
  11153. user agent
  11154. should send a user-agent header
  11155. stubbing
  11156. should not call handle
  11157. logging
  11158. should log the client request
  11159. should log server errors
  11160. signing
  11161. should call add_authorization! on the request
  11162. should call add_authorization! with the credential provider
  11163. caching enabled
  11164. should add the low-level response object to the cache
  11165. should not cache on failure
  11166. asynchronous
  11167. should add the response on success
  11168. should not cache on failure
  11169. exceptions
  11170. should raise modeled exceptions for unsuccessful requests
  11171. it should behave like an s3 error response with no body
  11172. should raise an instance of AWS::S3::Errors::NotModified
  11173. should raise an instance of AWS::Errors::ClientError
  11174. it should behave like an s3 error response with no body
  11175. should raise an instance of AWS::S3::Errors::NoSuchKey
  11176. should raise an instance of AWS::Errors::ClientError
  11177. #delete_bucket
  11178. it should behave like requires bucket_name
  11179. raises argument error for blank bucket name
  11180. raises argument error missing bucket name
  11181. uses the hostname s3.amazonaws.com
  11182. puts dns incompatible bucket name in the uri
  11183. puts dns compat bucket name in the host
  11184. it should behave like an s3 http request
  11185. it should behave like an aws http request
  11186. with the proper http verb
  11187. should set use_ssl to the current config use_ssl? value
  11188. should set ssl_verify_peer to the current config ssl_verify_peer? value
  11189. should set ssl_ca_file to the current config ssl_ca_file value
  11190. populates the response with the request options
  11191. raises client errors for errors that can not be retried
  11192. raises client errors for 4xx response codes with a nil response body
  11193. does not retry client errors
  11194. retry requests that respond with 500
  11195. retry requests that respond with 503
  11196. retry throttled requests that respond with 400
  11197. retry timeout errors
  11198. should retry at most 3 times
  11199. should build a new request for each retry
  11200. should retry more times if configured
  11201. should re-raise the server error after retries fail
  11202. should re-raise the timeout error after retries fail
  11203. should sleep between retries
  11204. it backs off exponentially
  11205. it uses a randomized scaling factor for throttled requests
  11206. it should behave like supports async option
  11207. asynchronous
  11208. should call handle_async on the handler
  11209. should return a kind of async handle
  11210. should call the success callback on handler success
  11211. should call the failure callback on handler failure
  11212. should make an error available on handler failure
  11213. should call the failure callback on service failure
  11214. should retry service errors
  11215. should retry timeouts
  11216. should build a new request for each retry
  11217. user_agent
  11218. should set the user_agent header
  11219. should prefix the user agent when configured
  11220. memoization status
  11221. should not include "memoizing" if memoization is disabled
  11222. should include "memoizing" if memoization is enabled
  11223. endpoint
  11224. should default the endpoint given in the client config
  11225. user agent
  11226. should send a user-agent header
  11227. stubbing
  11228. should not call handle
  11229. logging
  11230. should log the client request
  11231. should log server errors
  11232. signing
  11233. should call add_authorization! on the request
  11234. should call add_authorization! with the credential provider
  11235. caching enabled
  11236. should add the low-level response object to the cache
  11237. should not cache on failure
  11238. asynchronous
  11239. should add the response on success
  11240. should not cache on failure
  11241. exceptions
  11242. should raise modeled exceptions for unsuccessful requests
  11243. it should behave like an s3 error response with no body
  11244. should raise an instance of AWS::S3::Errors::NotModified
  11245. should raise an instance of AWS::Errors::ClientError
  11246. it should behave like an s3 error response with no body
  11247. should raise an instance of AWS::S3::Errors::NoSuchKey
  11248. should raise an instance of AWS::Errors::ClientError
  11249. #set_bucket_policy
  11250. should raise an argument error for a missing policy
  11251. should raise an argument error for invalid JSON
  11252. should raise an argument error for an object whose to_json method returns invalid JSON
  11253. should send the policy in the request body
  11254. should convert the policy to JSON before sending it
  11255. it should behave like requires bucket_name
  11256. raises argument error for blank bucket name
  11257. raises argument error missing bucket name
  11258. uses the hostname s3.amazonaws.com
  11259. puts dns incompatible bucket name in the uri
  11260. puts dns compat bucket name in the host
  11261. it should behave like an s3 http request
  11262. it should behave like an aws http request
  11263. with the proper http verb
  11264. should set use_ssl to the current config use_ssl? value
  11265. should set ssl_verify_peer to the current config ssl_verify_peer? value
  11266. should set ssl_ca_file to the current config ssl_ca_file value
  11267. populates the response with the request options
  11268. raises client errors for errors that can not be retried
  11269. raises client errors for 4xx response codes with a nil response body
  11270. does not retry client errors
  11271. retry requests that respond with 500
  11272. retry requests that respond with 503
  11273. retry throttled requests that respond with 400
  11274. retry timeout errors
  11275. should retry at most 3 times
  11276. should build a new request for each retry
  11277. should retry more times if configured
  11278. should re-raise the server error after retries fail
  11279. should re-raise the timeout error after retries fail
  11280. should sleep between retries
  11281. it backs off exponentially
  11282. it uses a randomized scaling factor for throttled requests
  11283. it should behave like supports async option
  11284. asynchronous
  11285. should call handle_async on the handler
  11286. should return a kind of async handle
  11287. should call the success callback on handler success
  11288. should call the failure callback on handler failure
  11289. should make an error available on handler failure
  11290. should call the failure callback on service failure
  11291. should retry service errors
  11292. should retry timeouts
  11293. should build a new request for each retry
  11294. user_agent
  11295. should set the user_agent header
  11296. should prefix the user agent when configured
  11297. memoization status
  11298. should not include "memoizing" if memoization is disabled
  11299. should include "memoizing" if memoization is enabled
  11300. endpoint
  11301. should default the endpoint given in the client config
  11302. user agent
  11303. should send a user-agent header
  11304. stubbing
  11305. should not call handle
  11306. logging
  11307. should log the client request
  11308. should log server errors
  11309. signing
  11310. should call add_authorization! on the request
  11311. should call add_authorization! with the credential provider
  11312. caching enabled
  11313. should add the low-level response object to the cache
  11314. should not cache on failure
  11315. asynchronous
  11316. should add the response on success
  11317. should not cache on failure
  11318. exceptions
  11319. should raise modeled exceptions for unsuccessful requests
  11320. it should behave like an s3 error response with no body
  11321. should raise an instance of AWS::S3::Errors::NotModified
  11322. should raise an instance of AWS::Errors::ClientError
  11323. it should behave like an s3 error response with no body
  11324. should raise an instance of AWS::S3::Errors::NoSuchKey
  11325. should raise an instance of AWS::Errors::ClientError
  11326. it should behave like a subresource request
  11327. should use the subresource
  11328. #get_bucket_versioning
  11329. it should behave like an s3 http request
  11330. it should behave like an aws http request
  11331. with the proper http verb
  11332. should set use_ssl to the current config use_ssl? value
  11333. should set ssl_verify_peer to the current config ssl_verify_peer? value
  11334. should set ssl_ca_file to the current config ssl_ca_file value
  11335. populates the response with the request options
  11336. raises client errors for errors that can not be retried
  11337. raises client errors for 4xx response codes with a nil response body
  11338. does not retry client errors
  11339. retry requests that respond with 500
  11340. retry requests that respond with 503
  11341. retry throttled requests that respond with 400
  11342. retry timeout errors
  11343. should retry at most 3 times
  11344. should build a new request for each retry
  11345. should retry more times if configured
  11346. should re-raise the server error after retries fail
  11347. should re-raise the timeout error after retries fail
  11348. should sleep between retries
  11349. it backs off exponentially
  11350. it uses a randomized scaling factor for throttled requests
  11351. it should behave like supports async option
  11352. asynchronous
  11353. should call handle_async on the handler
  11354. should return a kind of async handle
  11355. should call the success callback on handler success
  11356. should call the failure callback on handler failure
  11357. should make an error available on handler failure
  11358. should call the failure callback on service failure
  11359. should retry service errors
  11360. should retry timeouts
  11361. should build a new request for each retry
  11362. user_agent
  11363. should set the user_agent header
  11364. should prefix the user agent when configured
  11365. memoization status
  11366. should not include "memoizing" if memoization is disabled
  11367. should include "memoizing" if memoization is enabled
  11368. endpoint
  11369. should default the endpoint given in the client config
  11370. user agent
  11371. should send a user-agent header
  11372. stubbing
  11373. should not call handle
  11374. logging
  11375. should log the client request
  11376. should log server errors
  11377. signing
  11378. should call add_authorization! on the request
  11379. should call add_authorization! with the credential provider
  11380. caching enabled
  11381. should add the low-level response object to the cache
  11382. should not cache on failure
  11383. asynchronous
  11384. should add the response on success
  11385. should not cache on failure
  11386. exceptions
  11387. should raise modeled exceptions for unsuccessful requests
  11388. it should behave like an s3 error response with no body
  11389. should raise an instance of AWS::S3::Errors::NotModified
  11390. should raise an instance of AWS::Errors::ClientError
  11391. it should behave like an s3 error response with no body
  11392. should raise an instance of AWS::S3::Errors::NoSuchKey
  11393. should raise an instance of AWS::Errors::ClientError
  11394. it should behave like requires bucket_name
  11395. raises argument error for blank bucket name
  11396. raises argument error missing bucket name
  11397. uses the hostname s3.amazonaws.com
  11398. puts dns incompatible bucket name in the uri
  11399. puts dns compat bucket name in the host
  11400. it should behave like a subresource request
  11401. should use the subresource
  11402. #get_bucket_location
  11403. returns nil for missing location constraint
  11404. returns strings for buckets with location constraints
  11405. it should behave like an s3 http request
  11406. it should behave like an aws http request
  11407. with the proper http verb
  11408. should set use_ssl to the current config use_ssl? value
  11409. should set ssl_verify_peer to the current config ssl_verify_peer? value
  11410. should set ssl_ca_file to the current config ssl_ca_file value
  11411. populates the response with the request options
  11412. raises client errors for errors that can not be retried
  11413. raises client errors for 4xx response codes with a nil response body
  11414. does not retry client errors
  11415. retry requests that respond with 500
  11416. retry requests that respond with 503
  11417. retry throttled requests that respond with 400
  11418. retry timeout errors
  11419. should retry at most 3 times
  11420. should build a new request for each retry
  11421. should retry more times if configured
  11422. should re-raise the server error after retries fail
  11423. should re-raise the timeout error after retries fail
  11424. should sleep between retries
  11425. it backs off exponentially
  11426. it uses a randomized scaling factor for throttled requests
  11427. it should behave like supports async option
  11428. asynchronous
  11429. should call handle_async on the handler
  11430. should return a kind of async handle
  11431. should call the success callback on handler success
  11432. should call the failure callback on handler failure
  11433. should make an error available on handler failure
  11434. should call the failure callback on service failure
  11435. should retry service errors
  11436. should retry timeouts
  11437. should build a new request for each retry
  11438. user_agent
  11439. should set the user_agent header
  11440. should prefix the user agent when configured
  11441. memoization status
  11442. should not include "memoizing" if memoization is disabled
  11443. should include "memoizing" if memoization is enabled
  11444. endpoint
  11445. should default the endpoint given in the client config
  11446. user agent
  11447. should send a user-agent header
  11448. stubbing
  11449. should not call handle
  11450. logging
  11451. should log the client request
  11452. should log server errors
  11453. signing
  11454. should call add_authorization! on the request
  11455. should call add_authorization! with the credential provider
  11456. caching enabled
  11457. should add the low-level response object to the cache
  11458. should not cache on failure
  11459. asynchronous
  11460. should add the response on success
  11461. should not cache on failure
  11462. exceptions
  11463. should raise modeled exceptions for unsuccessful requests
  11464. it should behave like an s3 error response with no body
  11465. should raise an instance of AWS::S3::Errors::NotModified
  11466. should raise an instance of AWS::Errors::ClientError
  11467. it should behave like an s3 error response with no body
  11468. should raise an instance of AWS::S3::Errors::NoSuchKey
  11469. should raise an instance of AWS::Errors::ClientError
  11470. it should behave like requires bucket_name
  11471. raises argument error for blank bucket name
  11472. raises argument error missing bucket name
  11473. uses the hostname s3.amazonaws.com
  11474. puts dns incompatible bucket name in the uri
  11475. puts dns compat bucket name in the host
  11476. it should behave like a subresource request
  11477. should use the subresource
  11478. #set_bucket_versioning
  11479. should accept enabled and suspended as strings and symbols
  11480. should not accept other states
  11481. should make a request with a versioning configuration
  11482. should make a request with the proper xml namespace
  11483. should make a request with the proper state
  11484. it should behave like an s3 http request
  11485. it should behave like an aws http request
  11486. with the proper http verb
  11487. should set use_ssl to the current config use_ssl? value
  11488. should set ssl_verify_peer to the current config ssl_verify_peer? value
  11489. should set ssl_ca_file to the current config ssl_ca_file value
  11490. populates the response with the request options
  11491. raises client errors for errors that can not be retried
  11492. raises client errors for 4xx response codes with a nil response body
  11493. does not retry client errors
  11494. retry requests that respond with 500
  11495. retry requests that respond with 503
  11496. retry throttled requests that respond with 400
  11497. retry timeout errors
  11498. should retry at most 3 times
  11499. should build a new request for each retry
  11500. should retry more times if configured
  11501. should re-raise the server error after retries fail
  11502. should re-raise the timeout error after retries fail
  11503. should sleep between retries
  11504. it backs off exponentially
  11505. it uses a randomized scaling factor for throttled requests
  11506. it should behave like supports async option
  11507. asynchronous
  11508. should call handle_async on the handler
  11509. should return a kind of async handle
  11510. should call the success callback on handler success
  11511. should call the failure callback on handler failure
  11512. should make an error available on handler failure
  11513. should call the failure callback on service failure
  11514. should retry service errors
  11515. should retry timeouts
  11516. should build a new request for each retry
  11517. user_agent
  11518. should set the user_agent header
  11519. should prefix the user agent when configured
  11520. memoization status
  11521. should not include "memoizing" if memoization is disabled
  11522. should include "memoizing" if memoization is enabled
  11523. endpoint
  11524. should default the endpoint given in the client config
  11525. user agent
  11526. should send a user-agent header
  11527. stubbing
  11528. should not call handle
  11529. logging
  11530. should log the client request
  11531. should log server errors
  11532. signing
  11533. should call add_authorization! on the request
  11534. should call add_authorization! with the credential provider
  11535. caching enabled
  11536. should add the low-level response object to the cache
  11537. should not cache on failure
  11538. asynchronous
  11539. should add the response on success
  11540. should not cache on failure
  11541. exceptions
  11542. should raise modeled exceptions for unsuccessful requests
  11543. it should behave like an s3 error response with no body
  11544. should raise an instance of AWS::S3::Errors::NotModified
  11545. should raise an instance of AWS::Errors::ClientError
  11546. it should behave like an s3 error response with no body
  11547. should raise an instance of AWS::S3::Errors::NoSuchKey
  11548. should raise an instance of AWS::Errors::ClientError
  11549. it should behave like requires bucket_name
  11550. raises argument error for blank bucket name
  11551. raises argument error missing bucket name
  11552. uses the hostname s3.amazonaws.com
  11553. puts dns incompatible bucket name in the uri
  11554. puts dns compat bucket name in the host
  11555. it should behave like a subresource request
  11556. should use the subresource
  11557. #get_bucket_policy
  11558. it should behave like requires bucket_name
  11559. raises argument error for blank bucket name
  11560. raises argument error missing bucket name
  11561. uses the hostname s3.amazonaws.com
  11562. puts dns incompatible bucket name in the uri
  11563. puts dns compat bucket name in the host
  11564. it should behave like an s3 http request
  11565. it should behave like an aws http request
  11566. with the proper http verb
  11567. should set use_ssl to the current config use_ssl? value
  11568. should set ssl_verify_peer to the current config ssl_verify_peer? value
  11569. should set ssl_ca_file to the current config ssl_ca_file value
  11570. populates the response with the request options
  11571. raises client errors for errors that can not be retried
  11572. raises client errors for 4xx response codes with a nil response body
  11573. does not retry client errors
  11574. retry requests that respond with 500
  11575. retry requests that respond with 503
  11576. retry throttled requests that respond with 400
  11577. retry timeout errors
  11578. should retry at most 3 times
  11579. should build a new request for each retry
  11580. should retry more times if configured
  11581. should re-raise the server error after retries fail
  11582. should re-raise the timeout error after retries fail
  11583. should sleep between retries
  11584. it backs off exponentially
  11585. it uses a randomized scaling factor for throttled requests
  11586. it should behave like supports async option
  11587. asynchronous
  11588. should call handle_async on the handler
  11589. should return a kind of async handle
  11590. should call the success callback on handler success
  11591. should call the failure callback on handler failure
  11592. should make an error available on handler failure
  11593. should call the failure callback on service failure
  11594. should retry service errors
  11595. should retry timeouts
  11596. should build a new request for each retry
  11597. user_agent
  11598. should set the user_agent header
  11599. should prefix the user agent when configured
  11600. memoization status
  11601. should not include "memoizing" if memoization is disabled
  11602. should include "memoizing" if memoization is enabled
  11603. endpoint
  11604. should default the endpoint given in the client config
  11605. user agent
  11606. should send a user-agent header
  11607. stubbing
  11608. should not call handle
  11609. logging
  11610. should log the client request
  11611. should log server errors
  11612. signing
  11613. should call add_authorization! on the request
  11614. should call add_authorization! with the credential provider
  11615. caching enabled
  11616. should add the low-level response object to the cache
  11617. should not cache on failure
  11618. asynchronous
  11619. should add the response on success
  11620. should not cache on failure
  11621. exceptions
  11622. should raise modeled exceptions for unsuccessful requests
  11623. it should behave like an s3 error response with no body
  11624. should raise an instance of AWS::S3::Errors::NotModified
  11625. should raise an instance of AWS::Errors::ClientError
  11626. it should behave like an s3 error response with no body
  11627. should raise an instance of AWS::S3::Errors::NoSuchKey
  11628. should raise an instance of AWS::Errors::ClientError
  11629. it should behave like a subresource request
  11630. should use the subresource
  11631. it should behave like parses response
  11632. should parse the response body
  11633. asynchronous
  11634. should parse the response body on completion
  11635. #list_object_versions
  11636. should add :delimiter as a "delimiter"
  11637. should add :key_marker as a "key-marker"
  11638. should add :max_keys as a "max-keys"
  11639. should add :prefix as a "prefix"
  11640. should add :version_id_marker as a "version-id-marker"
  11641. it should behave like an s3 http request
  11642. it should behave like an aws http request
  11643. with the proper http verb
  11644. should set use_ssl to the current config use_ssl? value
  11645. should set ssl_verify_peer to the current config ssl_verify_peer? value
  11646. should set ssl_ca_file to the current config ssl_ca_file value
  11647. populates the response with the request options
  11648. raises client errors for errors that can not be retried
  11649. raises client errors for 4xx response codes with a nil response body
  11650. does not retry client errors
  11651. retry requests that respond with 500
  11652. retry requests that respond with 503
  11653. retry throttled requests that respond with 400
  11654. retry timeout errors
  11655. should retry at most 3 times
  11656. should build a new request for each retry
  11657. should retry more times if configured
  11658. should re-raise the server error after retries fail
  11659. should re-raise the timeout error after retries fail
  11660. should sleep between retries
  11661. it backs off exponentially
  11662. it uses a randomized scaling factor for throttled requests
  11663. it should behave like supports async option
  11664. asynchronous
  11665. should call handle_async on the handler
  11666. should return a kind of async handle
  11667. should call the success callback on handler success
  11668. should call the failure callback on handler failure
  11669. should make an error available on handler failure
  11670. should call the failure callback on service failure
  11671. should retry service errors
  11672. should retry timeouts
  11673. should build a new request for each retry
  11674. user_agent
  11675. should set the user_agent header
  11676. should prefix the user agent when configured
  11677. memoization status
  11678. should not include "memoizing" if memoization is disabled
  11679. should include "memoizing" if memoization is enabled
  11680. endpoint
  11681. should default the endpoint given in the client config
  11682. user agent
  11683. should send a user-agent header
  11684. stubbing
  11685. should not call handle
  11686. logging
  11687. should log the client request
  11688. should log server errors
  11689. signing
  11690. should call add_authorization! on the request
  11691. should call add_authorization! with the credential provider
  11692. caching enabled
  11693. should add the low-level response object to the cache
  11694. should not cache on failure
  11695. asynchronous
  11696. should add the response on success
  11697. should not cache on failure
  11698. exceptions
  11699. should raise modeled exceptions for unsuccessful requests
  11700. it should behave like an s3 error response with no body
  11701. should raise an instance of AWS::S3::Errors::NotModified
  11702. should raise an instance of AWS::Errors::ClientError
  11703. it should behave like an s3 error response with no body
  11704. should raise an instance of AWS::S3::Errors::NoSuchKey
  11705. should raise an instance of AWS::Errors::ClientError
  11706. it should behave like requires bucket_name
  11707. raises argument error for blank bucket name
  11708. raises argument error missing bucket name
  11709. uses the hostname s3.amazonaws.com
  11710. puts dns incompatible bucket name in the uri
  11711. puts dns compat bucket name in the host
  11712. it should behave like a subresource request
  11713. should use the subresource
  11714. #delete_bucket_policy
  11715. it should behave like requires bucket_name
  11716. raises argument error for blank bucket name
  11717. raises argument error missing bucket name
  11718. uses the hostname s3.amazonaws.com
  11719. puts dns incompatible bucket name in the uri
  11720. puts dns compat bucket name in the host
  11721. it should behave like an s3 http request
  11722. it should behave like an aws http request
  11723. with the proper http verb
  11724. should set use_ssl to the current config use_ssl? value
  11725. should set ssl_verify_peer to the current config ssl_verify_peer? value
  11726. should set ssl_ca_file to the current config ssl_ca_file value
  11727. populates the response with the request options
  11728. raises client errors for errors that can not be retried
  11729. raises client errors for 4xx response codes with a nil response body
  11730. does not retry client errors
  11731. retry requests that respond with 500
  11732. retry requests that respond with 503
  11733. retry throttled requests that respond with 400
  11734. retry timeout errors
  11735. should retry at most 3 times
  11736. should build a new request for each retry
  11737. should retry more times if configured
  11738. should re-raise the server error after retries fail
  11739. should re-raise the timeout error after retries fail
  11740. should sleep between retries
  11741. it backs off exponentially
  11742. it uses a randomized scaling factor for throttled requests
  11743. it should behave like supports async option
  11744. asynchronous
  11745. should call handle_async on the handler
  11746. should return a kind of async handle
  11747. should call the success callback on handler success
  11748. should call the failure callback on handler failure
  11749. should make an error available on handler failure
  11750. should call the failure callback on service failure
  11751. should retry service errors
  11752. should retry timeouts
  11753. should build a new request for each retry
  11754. user_agent
  11755. should set the user_agent header
  11756. should prefix the user agent when configured
  11757. memoization status
  11758. should not include "memoizing" if memoization is disabled
  11759. should include "memoizing" if memoization is enabled
  11760. endpoint
  11761. should default the endpoint given in the client config
  11762. user agent
  11763. should send a user-agent header
  11764. stubbing
  11765. should not call handle
  11766. logging
  11767. should log the client request
  11768. should log server errors
  11769. signing
  11770. should call add_authorization! on the request
  11771. should call add_authorization! with the credential provider
  11772. caching enabled
  11773. should add the low-level response object to the cache
  11774. should not cache on failure
  11775. asynchronous
  11776. should add the response on success
  11777. should not cache on failure
  11778. exceptions
  11779. should raise modeled exceptions for unsuccessful requests
  11780. it should behave like an s3 error response with no body
  11781. should raise an instance of AWS::S3::Errors::NotModified
  11782. should raise an instance of AWS::Errors::ClientError
  11783. it should behave like an s3 error response with no body
  11784. should raise an instance of AWS::S3::Errors::NoSuchKey
  11785. should raise an instance of AWS::Errors::ClientError
  11786. it should behave like a subresource request
  11787. should use the subresource
  11788. #set_bucket_acl
  11789. is aliased as put_bucket_acl
  11790. it should behave like requires bucket_name
  11791. raises argument error for blank bucket name
  11792. raises argument error missing bucket name
  11793. uses the hostname s3.amazonaws.com
  11794. puts dns incompatible bucket name in the uri
  11795. puts dns compat bucket name in the host
  11796. it should behave like an s3 http request
  11797. it should behave like an aws http request
  11798. with the proper http verb
  11799. should set use_ssl to the current config use_ssl? value
  11800. should set ssl_verify_peer to the current config ssl_verify_peer? value
  11801. should set ssl_ca_file to the current config ssl_ca_file value
  11802. populates the response with the request options
  11803. raises client errors for errors that can not be retried
  11804. raises client errors for 4xx response codes with a nil response body
  11805. does not retry client errors
  11806. retry requests that respond with 500
  11807. retry requests that respond with 503
  11808. retry throttled requests that respond with 400
  11809. retry timeout errors
  11810. should retry at most 3 times
  11811. should build a new request for each retry
  11812. should retry more times if configured
  11813. should re-raise the server error after retries fail
  11814. should re-raise the timeout error after retries fail
  11815. should sleep between retries
  11816. it backs off exponentially
  11817. it uses a randomized scaling factor for throttled requests
  11818. it should behave like supports async option
  11819. asynchronous
  11820. should call handle_async on the handler
  11821. should return a kind of async handle
  11822. should call the success callback on handler success
  11823. should call the failure callback on handler failure
  11824. should make an error available on handler failure
  11825. should call the failure callback on service failure
  11826. should retry service errors
  11827. should retry timeouts
  11828. should build a new request for each retry
  11829. user_agent
  11830. should set the user_agent header
  11831. should prefix the user agent when configured
  11832. memoization status
  11833. should not include "memoizing" if memoization is disabled
  11834. should include "memoizing" if memoization is enabled
  11835. endpoint
  11836. should default the endpoint given in the client config
  11837. user agent
  11838. should send a user-agent header
  11839. stubbing
  11840. should not call handle
  11841. logging
  11842. should log the client request
  11843. should log server errors
  11844. signing
  11845. should call add_authorization! on the request
  11846. should call add_authorization! with the credential provider
  11847. caching enabled
  11848. should add the low-level response object to the cache
  11849. should not cache on failure
  11850. asynchronous
  11851. should add the response on success
  11852. should not cache on failure
  11853. exceptions
  11854. should raise modeled exceptions for unsuccessful requests
  11855. it should behave like an s3 error response with no body
  11856. should raise an instance of AWS::S3::Errors::NotModified
  11857. should raise an instance of AWS::Errors::ClientError
  11858. it should behave like an s3 error response with no body
  11859. should raise an instance of AWS::S3::Errors::NoSuchKey
  11860. should raise an instance of AWS::Errors::ClientError
  11861. it should behave like a subresource request
  11862. should use the subresource
  11863. it should behave like accepts an ACL
  11864. moves the :acl option to the body if it is xml
  11865. should raise an argument error for a missing acl
  11866. should send the acl in the request body
  11867. ACL as object with to_xml
  11868. should send the result of to_xml on the acl
  11869. it should behave like accepts simplified ACL header options
  11870. accpets :grant_read
  11871. accpets :grant_write
  11872. accpets :grant_read_acp
  11873. accpets :grant_write_acp
  11874. accpets :grant_write_acp
  11875. accpets :grant_write_acp
  11876. #get_bucket_acl
  11877. it should behave like requires bucket_name
  11878. raises argument error for blank bucket name
  11879. raises argument error missing bucket name
  11880. uses the hostname s3.amazonaws.com
  11881. puts dns incompatible bucket name in the uri
  11882. puts dns compat bucket name in the host
  11883. it should behave like an s3 http request
  11884. it should behave like an aws http request
  11885. with the proper http verb
  11886. should set use_ssl to the current config use_ssl? value
  11887. should set ssl_verify_peer to the current config ssl_verify_peer? value
  11888. should set ssl_ca_file to the current config ssl_ca_file value
  11889. populates the response with the request options
  11890. raises client errors for errors that can not be retried
  11891. raises client errors for 4xx response codes with a nil response body
  11892. does not retry client errors
  11893. retry requests that respond with 500
  11894. retry requests that respond with 503
  11895. retry throttled requests that respond with 400
  11896. retry timeout errors
  11897. should retry at most 3 times
  11898. should build a new request for each retry
  11899. should retry more times if configured
  11900. should re-raise the server error after retries fail
  11901. should re-raise the timeout error after retries fail
  11902. should sleep between retries
  11903. it backs off exponentially
  11904. it uses a randomized scaling factor for throttled requests
  11905. it should behave like supports async option
  11906. asynchronous
  11907. should call handle_async on the handler
  11908. should return a kind of async handle
  11909. should call the success callback on handler success
  11910. should call the failure callback on handler failure
  11911. should make an error available on handler failure
  11912. should call the failure callback on service failure
  11913. should retry service errors
  11914. should retry timeouts
  11915. should build a new request for each retry
  11916. user_agent
  11917. should set the user_agent header
  11918. should prefix the user agent when configured
  11919. memoization status
  11920. should not include "memoizing" if memoization is disabled
  11921. should include "memoizing" if memoization is enabled
  11922. endpoint
  11923. should default the endpoint given in the client config
  11924. user agent
  11925. should send a user-agent header
  11926. stubbing
  11927. should not call handle
  11928. logging
  11929. should log the client request
  11930. should log server errors
  11931. signing
  11932. should call add_authorization! on the request
  11933. should call add_authorization! with the credential provider
  11934. caching enabled
  11935. should add the low-level response object to the cache
  11936. should not cache on failure
  11937. asynchronous
  11938. should add the response on success
  11939. should not cache on failure
  11940. exceptions
  11941. should raise modeled exceptions for unsuccessful requests
  11942. it should behave like an s3 error response with no body
  11943. should raise an instance of AWS::S3::Errors::NotModified
  11944. should raise an instance of AWS::Errors::ClientError
  11945. it should behave like an s3 error response with no body
  11946. should raise an instance of AWS::S3::Errors::NoSuchKey
  11947. should raise an instance of AWS::Errors::ClientError
  11948. it should behave like a subresource request
  11949. should use the subresource
  11950. #set_object_acl
  11951. is aliased as put_object_acl
  11952. should accept a canned ACL as a symbol
  11953. it should behave like requires bucket_name
  11954. raises argument error for blank bucket name
  11955. raises argument error missing bucket name
  11956. uses the hostname s3.amazonaws.com
  11957. puts dns incompatible bucket name in the uri
  11958. puts dns compat bucket name in the host
  11959. it should behave like requires key
  11960. should raise an argument error for a missing key
  11961. should include the key in the path
  11962. should not strip leading slashes from keys
  11963. it should behave like an s3 http request
  11964. it should behave like an aws http request
  11965. with the proper http verb
  11966. should set use_ssl to the current config use_ssl? value
  11967. should set ssl_verify_peer to the current config ssl_verify_peer? value
  11968. should set ssl_ca_file to the current config ssl_ca_file value
  11969. populates the response with the request options
  11970. raises client errors for errors that can not be retried
  11971. raises client errors for 4xx response codes with a nil response body
  11972. does not retry client errors
  11973. retry requests that respond with 500
  11974. retry requests that respond with 503
  11975. retry throttled requests that respond with 400
  11976. retry timeout errors
  11977. should retry at most 3 times
  11978. should build a new request for each retry
  11979. should retry more times if configured
  11980. should re-raise the server error after retries fail
  11981. should re-raise the timeout error after retries fail
  11982. should sleep between retries
  11983. it backs off exponentially
  11984. it uses a randomized scaling factor for throttled requests
  11985. it should behave like supports async option
  11986. asynchronous
  11987. should call handle_async on the handler
  11988. should return a kind of async handle
  11989. should call the success callback on handler success
  11990. should call the failure callback on handler failure
  11991. should make an error available on handler failure
  11992. should call the failure callback on service failure
  11993. should retry service errors
  11994. should retry timeouts
  11995. should build a new request for each retry
  11996. user_agent
  11997. should set the user_agent header
  11998. should prefix the user agent when configured
  11999. memoization status
  12000. should not include "memoizing" if memoization is disabled
  12001. should include "memoizing" if memoization is enabled
  12002. endpoint
  12003. should default the endpoint given in the client config
  12004. user agent
  12005. should send a user-agent header
  12006. stubbing
  12007. should not call handle
  12008. logging
  12009. should log the client request
  12010. should log server errors
  12011. signing
  12012. should call add_authorization! on the request
  12013. should call add_authorization! with the credential provider
  12014. caching enabled
  12015. should add the low-level response object to the cache
  12016. should not cache on failure
  12017. asynchronous
  12018. should add the response on success
  12019. should not cache on failure
  12020. exceptions
  12021. should raise modeled exceptions for unsuccessful requests
  12022. it should behave like an s3 error response with no body
  12023. should raise an instance of AWS::S3::Errors::NotModified
  12024. should raise an instance of AWS::Errors::ClientError
  12025. it should behave like an s3 error response with no body
  12026. should raise an instance of AWS::S3::Errors::NoSuchKey
  12027. should raise an instance of AWS::Errors::ClientError
  12028. it should behave like a subresource request
  12029. should use the subresource
  12030. it should behave like accepts an ACL
  12031. moves the :acl option to the body if it is xml
  12032. should raise an argument error for a missing acl
  12033. should send the acl in the request body
  12034. ACL as object with to_xml
  12035. should send the result of to_xml on the acl
  12036. it should behave like accepts simplified ACL header options
  12037. accpets :grant_read
  12038. accpets :grant_write
  12039. accpets :grant_read_acp
  12040. accpets :grant_write_acp
  12041. accpets :grant_write_acp
  12042. accpets :grant_write_acp
  12043. #get_object_acl
  12044. it should behave like requires bucket_name
  12045. raises argument error for blank bucket name
  12046. raises argument error missing bucket name
  12047. uses the hostname s3.amazonaws.com
  12048. puts dns incompatible bucket name in the uri
  12049. puts dns compat bucket name in the host
  12050. it should behave like requires key
  12051. should raise an argument error for a missing key
  12052. should include the key in the path
  12053. should not strip leading slashes from keys
  12054. it should behave like an s3 http request
  12055. it should behave like an aws http request
  12056. with the proper http verb
  12057. should set use_ssl to the current config use_ssl? value
  12058. should set ssl_verify_peer to the current config ssl_verify_peer? value
  12059. should set ssl_ca_file to the current config ssl_ca_file value
  12060. populates the response with the request options
  12061. raises client errors for errors that can not be retried
  12062. raises client errors for 4xx response codes with a nil response body
  12063. does not retry client errors
  12064. retry requests that respond with 500
  12065. retry requests that respond with 503
  12066. retry throttled requests that respond with 400
  12067. retry timeout errors
  12068. should retry at most 3 times
  12069. should build a new request for each retry
  12070. should retry more times if configured
  12071. should re-raise the server error after retries fail
  12072. should re-raise the timeout error after retries fail
  12073. should sleep between retries
  12074. it backs off exponentially
  12075. it uses a randomized scaling factor for throttled requests
  12076. it should behave like supports async option
  12077. asynchronous
  12078. should call handle_async on the handler
  12079. should return a kind of async handle
  12080. should call the success callback on handler success
  12081. should call the failure callback on handler failure
  12082. should make an error available on handler failure
  12083. should call the failure callback on service failure
  12084. should retry service errors
  12085. should retry timeouts
  12086. should build a new request for each retry
  12087. user_agent
  12088. should set the user_agent header
  12089. should prefix the user agent when configured
  12090. memoization status
  12091. should not include "memoizing" if memoization is disabled
  12092. should include "memoizing" if memoization is enabled
  12093. endpoint
  12094. should default the endpoint given in the client config
  12095. user agent
  12096. should send a user-agent header
  12097. stubbing
  12098. should not call handle
  12099. logging
  12100. should log the client request
  12101. should log server errors
  12102. signing
  12103. should call add_authorization! on the request
  12104. should call add_authorization! with the credential provider
  12105. caching enabled
  12106. should add the low-level response object to the cache
  12107. should not cache on failure
  12108. asynchronous
  12109. should add the response on success
  12110. should not cache on failure
  12111. exceptions
  12112. should raise modeled exceptions for unsuccessful requests
  12113. it should behave like an s3 error response with no body
  12114. should raise an instance of AWS::S3::Errors::NotModified
  12115. should raise an instance of AWS::Errors::ClientError
  12116. it should behave like an s3 error response with no body
  12117. should raise an instance of AWS::S3::Errors::NoSuchKey
  12118. should raise an instance of AWS::Errors::ClientError
  12119. it should behave like a subresource request
  12120. should use the subresource
  12121. #put_object
  12122. it should behave like requires bucket_name
  12123. raises argument error for blank bucket name
  12124. raises argument error missing bucket name
  12125. uses the hostname s3.amazonaws.com
  12126. puts dns incompatible bucket name in the uri
  12127. puts dns compat bucket name in the host
  12128. it should behave like an s3 http request
  12129. it should behave like an aws http request
  12130. with the proper http verb
  12131. should set use_ssl to the current config use_ssl? value
  12132. should set ssl_verify_peer to the current config ssl_verify_peer? value
  12133. should set ssl_ca_file to the current config ssl_ca_file value
  12134. populates the response with the request options
  12135. raises client errors for errors that can not be retried
  12136. raises client errors for 4xx response codes with a nil response body
  12137. does not retry client errors
  12138. retry requests that respond with 500
  12139. retry requests that respond with 503
  12140. retry throttled requests that respond with 400
  12141. retry timeout errors
  12142. should retry at most 3 times
  12143. should build a new request for each retry
  12144. should retry more times if configured
  12145. should re-raise the server error after retries fail
  12146. should re-raise the timeout error after retries fail
  12147. should sleep between retries
  12148. it backs off exponentially
  12149. it uses a randomized scaling factor for throttled requests
  12150. it should behave like supports async option
  12151. asynchronous
  12152. should call handle_async on the handler
  12153. should return a kind of async handle
  12154. should call the success callback on handler success
  12155. should call the failure callback on handler failure
  12156. should make an error available on handler failure
  12157. should call the failure callback on service failure
  12158. should retry service errors
  12159. should retry timeouts
  12160. should build a new request for each retry
  12161. user_agent
  12162. should set the user_agent header
  12163. should prefix the user agent when configured
  12164. memoization status
  12165. should not include "memoizing" if memoization is disabled
  12166. should include "memoizing" if memoization is enabled
  12167. endpoint
  12168. should default the endpoint given in the client config
  12169. user agent
  12170. should send a user-agent header
  12171. stubbing
  12172. should not call handle
  12173. logging
  12174. should log the client request
  12175. should log server errors
  12176. signing
  12177. should call add_authorization! on the request
  12178. should call add_authorization! with the credential provider
  12179. caching enabled
  12180. should add the low-level response object to the cache
  12181. should not cache on failure
  12182. asynchronous
  12183. should add the response on success
  12184. should not cache on failure
  12185. exceptions
  12186. should raise modeled exceptions for unsuccessful requests
  12187. it should behave like an s3 error response with no body
  12188. should raise an instance of AWS::S3::Errors::NotModified
  12189. should raise an instance of AWS::Errors::ClientError
  12190. it should behave like an s3 error response with no body
  12191. should raise an instance of AWS::S3::Errors::NoSuchKey
  12192. should raise an instance of AWS::Errors::ClientError
  12193. it should behave like accepts simplified ACL header options
  12194. accpets :grant_read
  12195. accpets :grant_write
  12196. accpets :grant_read_acp
  12197. accpets :grant_write_acp
  12198. accpets :grant_write_acp
  12199. accpets :grant_write_acp
  12200. it should behave like requires key
  12201. should raise an argument error for a missing key
  12202. should include the key in the path
  12203. should not strip leading slashes from keys
  12204. it should behave like returns version id
  12205. defaults version ids to nil
  12206. populates the version when present
  12207. it should behave like returns etag
  12208. should return the etag as a string
  12209. it should behave like returns server_side_encryption
  12210. should return the server_side_encryption method as a symbol
  12211. it should behave like returns last_modified
  12212. should return the last_modified time as a Time object
  12213. it should behave like sends metadata headers
  12214. converts canned acl symbols to strings
  12215. converts storage class symbols to strings
  12216. converts server side encryption symbols to strings
  12217. it should behave like sends option as header
  12218. sends :cache_control as Cache-Control
  12219. does not send a Cache-Control header when :cache_control is not provided
  12220. it should behave like sends option as header
  12221. sends :content_disposition as Content-Disposition
  12222. does not send a Content-Disposition header when :content_disposition is not provided
  12223. it should behave like sends option as header
  12224. sends :content_encoding as Content-Encoding
  12225. does not send a Content-Encoding header when :content_encoding is not provided
  12226. it should behave like sends option as header
  12227. sends :content_type as Content-Type
  12228. does not send a Content-Type header when :content_type is not provided
  12229. it should behave like sends option as header
  12230. sends :expires as Expires
  12231. does not send a Expires header when :expires is not provided
  12232. it should behave like sends option as header
  12233. sends :acl as x-amz-acl
  12234. does not send a x-amz-acl header when :acl is not provided
  12235. it should behave like sends option as header
  12236. sends :storage_class as x-amz-storage-class
  12237. does not send a x-amz-storage-class header when :storage_class is not provided
  12238. it should behave like sends option as header
  12239. sends :server_side_encryption as x-amz-server-side-encryption
  12240. does not send a x-amz-server-side-encryption header when :server_side_encryption is not provided
  12241. custom metadata
  12242. should prefix metadata with x-amz-meta- in the headers
  12243. it should behave like accepts input data
  12244. data
  12245. is required
  12246. is accepted from blocks with 1 argument
  12247. is rejected from blocks with no args
  12248. is rejected from blocks with more than 1 arg
  12249. is accepted as a string
  12250. accepts a pathname
  12251. is accepted as a tempfile
  12252. is accepted as a file
  12253. is accepted as an io object
  12254. is accepted from any obj responding to #read(length) and #eof?
  12255. may not be passed as :data and as a block
  12256. blocks
  12257. yields a buffer to write to
  12258. collects data written to the buffer for the body
  12259. strings
  12260. get passed through to the request body
  12261. is forced to binary encoding if it responds to #force_encoding
  12262. file names
  12263. no encoding support
  12264. get passed as the opened file
  12265. works the same for Pathname objects
  12266. encoding support
  12267. get passed as the opened file
  12268. works the same for Pathname objects
  12269. content length
  12270. gets calculated on strings
  12271. gets calculated on pathnames
  12272. gets calculated on files
  12273. gets calculated on objects that responds to #length
  12274. gets calculated on objects that responds to #size
  12275. gets calculated on objects that respond to #bytesize
  12276. is accepted as an option
  12277. is required for io-like objects without size
  12278. is required for block form
  12279. it should behave like sends option as header
  12280. sends :content_md5 as Content-MD5
  12281. does not send a Content-MD5 header when :content_md5 is not provided
  12282. #copy_object
  12283. requires :copy_source
  12284. sends :copy_source url-encoded as the x-amz-copy-source header
  12285. only escapes path elements in :copy_source
  12286. it should behave like accepts simplified ACL header options
  12287. accpets :grant_read
  12288. accpets :grant_write
  12289. accpets :grant_read_acp
  12290. accpets :grant_write_acp
  12291. accpets :grant_write_acp
  12292. accpets :grant_write_acp
  12293. it should behave like an s3 http request
  12294. it should behave like an aws http request
  12295. with the proper http verb
  12296. should set use_ssl to the current config use_ssl? value
  12297. should set ssl_verify_peer to the current config ssl_verify_peer? value
  12298. should set ssl_ca_file to the current config ssl_ca_file value
  12299. populates the response with the request options
  12300. raises client errors for errors that can not be retried
  12301. raises client errors for 4xx response codes with a nil response body
  12302. does not retry client errors
  12303. retry requests that respond with 500
  12304. retry requests that respond with 503
  12305. retry throttled requests that respond with 400
  12306. retry timeout errors
  12307. should retry at most 3 times
  12308. should build a new request for each retry
  12309. should retry more times if configured
  12310. should re-raise the server error after retries fail
  12311. should re-raise the timeout error after retries fail
  12312. should sleep between retries
  12313. it backs off exponentially
  12314. it uses a randomized scaling factor for throttled requests
  12315. it should behave like supports async option
  12316. asynchronous
  12317. should call handle_async on the handler
  12318. should return a kind of async handle
  12319. should call the success callback on handler success
  12320. should call the failure callback on handler failure
  12321. should make an error available on handler failure
  12322. should call the failure callback on service failure
  12323. should retry service errors
  12324. should retry timeouts
  12325. should build a new request for each retry
  12326. user_agent
  12327. should set the user_agent header
  12328. should prefix the user agent when configured
  12329. memoization status
  12330. should not include "memoizing" if memoization is disabled
  12331. should include "memoizing" if memoization is enabled
  12332. endpoint
  12333. should default the endpoint given in the client config
  12334. user agent
  12335. should send a user-agent header
  12336. stubbing
  12337. should not call handle
  12338. logging
  12339. should log the client request
  12340. should log server errors
  12341. signing
  12342. should call add_authorization! on the request
  12343. should call add_authorization! with the credential provider
  12344. caching enabled
  12345. should add the low-level response object to the cache
  12346. should not cache on failure
  12347. asynchronous
  12348. should add the response on success
  12349. should not cache on failure
  12350. exceptions
  12351. should raise modeled exceptions for unsuccessful requests
  12352. it should behave like an s3 error response with no body
  12353. should raise an instance of AWS::S3::Errors::NotModified
  12354. should raise an instance of AWS::Errors::ClientError
  12355. it should behave like an s3 error response with no body
  12356. should raise an instance of AWS::S3::Errors::NoSuchKey
  12357. should raise an instance of AWS::Errors::ClientError
  12358. it should behave like requires bucket_name
  12359. raises argument error for blank bucket name
  12360. raises argument error missing bucket name
  12361. uses the hostname s3.amazonaws.com
  12362. puts dns incompatible bucket name in the uri
  12363. puts dns compat bucket name in the host
  12364. it should behave like requires key
  12365. should raise an argument error for a missing key
  12366. should include the key in the path
  12367. should not strip leading slashes from keys
  12368. it should behave like returns version id
  12369. defaults version ids to nil
  12370. populates the version when present
  12371. it should behave like returns etag
  12372. should return the etag as a string
  12373. it should behave like returns last_modified
  12374. should return the last_modified time as a Time object
  12375. it should behave like returns server_side_encryption
  12376. should return the server_side_encryption method as a symbol
  12377. it should behave like sends metadata headers
  12378. converts canned acl symbols to strings
  12379. converts storage class symbols to strings
  12380. converts server side encryption symbols to strings
  12381. it should behave like sends option as header
  12382. sends :acl as x-amz-acl
  12383. does not send a x-amz-acl header when :acl is not provided
  12384. it should behave like sends option as header
  12385. sends :storage_class as x-amz-storage-class
  12386. does not send a x-amz-storage-class header when :storage_class is not provided
  12387. it should behave like sends option as header
  12388. sends :server_side_encryption as x-amz-server-side-encryption
  12389. does not send a x-amz-server-side-encryption header when :server_side_encryption is not provided
  12390. custom metadata
  12391. should prefix metadata with x-amz-meta- in the headers
  12392. it should behave like sends option as header
  12393. sends :content_type as Content-Type
  12394. does not send a Content-Type header when :content_type is not provided
  12395. #get_object
  12396. it should behave like requires bucket_name
  12397. raises argument error for blank bucket name
  12398. raises argument error missing bucket name
  12399. uses the hostname s3.amazonaws.com
  12400. puts dns incompatible bucket name in the uri
  12401. puts dns compat bucket name in the host
  12402. it should behave like an s3 http request
  12403. it should behave like an aws http request
  12404. with the proper http verb
  12405. should set use_ssl to the current config use_ssl? value
  12406. should set ssl_verify_peer to the current config ssl_verify_peer? value
  12407. should set ssl_ca_file to the current config ssl_ca_file value
  12408. populates the response with the request options
  12409. raises client errors for errors that can not be retried
  12410. raises client errors for 4xx response codes with a nil response body
  12411. does not retry client errors
  12412. retry requests that respond with 500
  12413. retry requests that respond with 503
  12414. retry throttled requests that respond with 400
  12415. retry timeout errors
  12416. should retry at most 3 times
  12417. should build a new request for each retry
  12418. should retry more times if configured
  12419. should re-raise the server error after retries fail
  12420. should re-raise the timeout error after retries fail
  12421. should sleep between retries
  12422. it backs off exponentially
  12423. it uses a randomized scaling factor for throttled requests
  12424. it should behave like supports async option
  12425. asynchronous
  12426. should call handle_async on the handler
  12427. should return a kind of async handle
  12428. should call the success callback on handler success
  12429. should call the failure callback on handler failure
  12430. should make an error available on handler failure
  12431. should call the failure callback on service failure
  12432. should retry service errors
  12433. should retry timeouts
  12434. should build a new request for each retry
  12435. user_agent
  12436. should set the user_agent header
  12437. should prefix the user agent when configured
  12438. memoization status
  12439. should not include "memoizing" if memoization is disabled
  12440. should include "memoizing" if memoization is enabled
  12441. endpoint
  12442. should default the endpoint given in the client config
  12443. user agent
  12444. should send a user-agent header
  12445. stubbing
  12446. should not call handle
  12447. logging
  12448. should log the client request
  12449. should log server errors
  12450. signing
  12451. should call add_authorization! on the request
  12452. should call add_authorization! with the credential provider
  12453. caching enabled
  12454. should add the low-level response object to the cache
  12455. should not cache on failure
  12456. asynchronous
  12457. should add the response on success
  12458. should not cache on failure
  12459. exceptions
  12460. should raise modeled exceptions for unsuccessful requests
  12461. it should behave like an s3 error response with no body
  12462. should raise an instance of AWS::S3::Errors::NotModified
  12463. should raise an instance of AWS::Errors::ClientError
  12464. it should behave like an s3 error response with no body
  12465. should raise an instance of AWS::S3::Errors::NoSuchKey
  12466. should raise an instance of AWS::Errors::ClientError
  12467. it should behave like accepts version id
  12468. adds no param wheren version_id is nil
  12469. adds a params when version_id is passed
  12470. it should behave like returns version id
  12471. defaults version ids to nil
  12472. populates the version when present
  12473. it should behave like returns server_side_encryption
  12474. should return the server_side_encryption method as a symbol
  12475. it should behave like sends option as header
  12476. sends :range as Range
  12477. does not send a Range header when :range is not provided
  12478. it should behave like sends option as header
  12479. sends :if_modified_since as If-Modified-Since
  12480. does not send a If-Modified-Since header when :if_modified_since is not provided
  12481. it should behave like sends option as header
  12482. sends :if_unmodified_since as If-Unmodified-Since
  12483. does not send a If-Unmodified-Since header when :if_unmodified_since is not provided
  12484. it should behave like sends option as header
  12485. sends :if_match as If-Match
  12486. does not send a If-Match header when :if_match is not provided
  12487. it should behave like sends option as header
  12488. sends :if_none_match as If-None-Match
  12489. does not send a If-None-Match header when :if_none_match is not provided
  12490. it should behave like formats date header
  12491. formats Time values
  12492. formats DateTime values
  12493. it should behave like formats date header
  12494. formats Time values
  12495. formats DateTime values
  12496. response
  12497. should return the response body from the data method
  12498. should read the response body on success
  12499. #head_object
  12500. it should behave like requires bucket_name
  12501. raises argument error for blank bucket name
  12502. raises argument error missing bucket name
  12503. uses the hostname s3.amazonaws.com
  12504. puts dns incompatible bucket name in the uri
  12505. puts dns compat bucket name in the host
  12506. it should behave like an s3 http request
  12507. it should behave like an aws http request
  12508. with the proper http verb
  12509. should set use_ssl to the current config use_ssl? value
  12510. should set ssl_verify_peer to the current config ssl_verify_peer? value
  12511. should set ssl_ca_file to the current config ssl_ca_file value
  12512. populates the response with the request options
  12513. raises client errors for errors that can not be retried
  12514. raises client errors for 4xx response codes with a nil response body
  12515. does not retry client errors
  12516. retry requests that respond with 500
  12517. retry requests that respond with 503
  12518. retry throttled requests that respond with 400
  12519. retry timeout errors
  12520. should retry at most 3 times
  12521. should build a new request for each retry
  12522. should retry more times if configured
  12523. should re-raise the server error after retries fail
  12524. should re-raise the timeout error after retries fail
  12525. should sleep between retries
  12526. it backs off exponentially
  12527. it uses a randomized scaling factor for throttled requests
  12528. it should behave like supports async option
  12529. asynchronous
  12530. should call handle_async on the handler
  12531. should return a kind of async handle
  12532. should call the success callback on handler success
  12533. should call the failure callback on handler failure
  12534. should make an error available on handler failure
  12535. should call the failure callback on service failure
  12536. should retry service errors
  12537. should retry timeouts
  12538. should build a new request for each retry
  12539. user_agent
  12540. should set the user_agent header
  12541. should prefix the user agent when configured
  12542. memoization status
  12543. should not include "memoizing" if memoization is disabled
  12544. should include "memoizing" if memoization is enabled
  12545. endpoint
  12546. should default the endpoint given in the client config
  12547. user agent
  12548. should send a user-agent header
  12549. stubbing
  12550. should not call handle
  12551. logging
  12552. should log the client request
  12553. should log server errors
  12554. signing
  12555. should call add_authorization! on the request
  12556. should call add_authorization! with the credential provider
  12557. caching enabled
  12558. should add the low-level response object to the cache
  12559. should not cache on failure
  12560. asynchronous
  12561. should add the response on success
  12562. should not cache on failure
  12563. exceptions
  12564. should raise modeled exceptions for unsuccessful requests
  12565. it should behave like an s3 error response with no body
  12566. should raise an instance of AWS::S3::Errors::NotModified
  12567. should raise an instance of AWS::Errors::ClientError
  12568. it should behave like an s3 error response with no body
  12569. should raise an instance of AWS::S3::Errors::NoSuchKey
  12570. should raise an instance of AWS::Errors::ClientError
  12571. it should behave like accepts version id
  12572. adds no param wheren version_id is nil
  12573. adds a params when version_id is passed
  12574. it should behave like returns version id
  12575. defaults version ids to nil
  12576. populates the version when present
  12577. it should behave like returns etag
  12578. should return the etag as a string
  12579. it should behave like returns last_modified
  12580. should return the last_modified time as a Time object
  12581. it should behave like returns server_side_encryption
  12582. should return the server_side_encryption method as a symbol
  12583. response
  12584. should return x-amz-meta- header elements in a hash
  12585. should read the headers on success
  12586. should return the content-type as a string
  12587. should return the content length header as an integer
  12588. defaults expiration date and rule id to nil
  12589. parses x-amz-expiration headers
  12590. #delete_object
  12591. it should behave like requires bucket_name
  12592. raises argument error for blank bucket name
  12593. raises argument error missing bucket name
  12594. uses the hostname s3.amazonaws.com
  12595. puts dns incompatible bucket name in the uri
  12596. puts dns compat bucket name in the host
  12597. it should behave like an s3 http request
  12598. it should behave like an aws http request
  12599. with the proper http verb
  12600. should set use_ssl to the current config use_ssl? value
  12601. should set ssl_verify_peer to the current config ssl_verify_peer? value
  12602. should set ssl_ca_file to the current config ssl_ca_file value
  12603. populates the response with the request options
  12604. raises client errors for errors that can not be retried
  12605. raises client errors for 4xx response codes with a nil response body
  12606. does not retry client errors
  12607. retry requests that respond with 500
  12608. retry requests that respond with 503
  12609. retry throttled requests that respond with 400
  12610. retry timeout errors
  12611. should retry at most 3 times
  12612. should build a new request for each retry
  12613. should retry more times if configured
  12614. should re-raise the server error after retries fail
  12615. should re-raise the timeout error after retries fail
  12616. should sleep between retries
  12617. it backs off exponentially
  12618. it uses a randomized scaling factor for throttled requests
  12619. it should behave like supports async option
  12620. asynchronous
  12621. should call handle_async on the handler
  12622. should return a kind of async handle
  12623. should call the success callback on handler success
  12624. should call the failure callback on handler failure
  12625. should make an error available on handler failure
  12626. should call the failure callback on service failure
  12627. should retry service errors
  12628. should retry timeouts
  12629. should build a new request for each retry
  12630. user_agent
  12631. should set the user_agent header
  12632. should prefix the user agent when configured
  12633. memoization status
  12634. should not include "memoizing" if memoization is disabled
  12635. should include "memoizing" if memoization is enabled
  12636. endpoint
  12637. should default the endpoint given in the client config
  12638. user agent
  12639. should send a user-agent header
  12640. stubbing
  12641. should not call handle
  12642. logging
  12643. should log the client request
  12644. should log server errors
  12645. signing
  12646. should call add_authorization! on the request
  12647. should call add_authorization! with the credential provider
  12648. caching enabled
  12649. should add the low-level response object to the cache
  12650. should not cache on failure
  12651. asynchronous
  12652. should add the response on success
  12653. should not cache on failure
  12654. exceptions
  12655. should raise modeled exceptions for unsuccessful requests
  12656. it should behave like an s3 error response with no body
  12657. should raise an instance of AWS::S3::Errors::NotModified
  12658. should raise an instance of AWS::Errors::ClientError
  12659. it should behave like an s3 error response with no body
  12660. should raise an instance of AWS::S3::Errors::NoSuchKey
  12661. should raise an instance of AWS::Errors::ClientError
  12662. it should behave like requires key
  12663. should raise an argument error for a missing key
  12664. should include the key in the path
  12665. should not strip leading slashes from keys
  12666. it should behave like returns version id
  12667. defaults version ids to nil
  12668. populates the version when present
  12669. it should behave like accepts version id
  12670. adds no param wheren version_id is nil
  12671. adds a params when version_id is passed
  12672. #delete_objects
  12673. it should behave like requires bucket_name
  12674. raises argument error for blank bucket name
  12675. raises argument error missing bucket name
  12676. uses the hostname s3.amazonaws.com
  12677. puts dns incompatible bucket name in the uri
  12678. puts dns compat bucket name in the host
  12679. #list_objects
  12680. should add :delimiter as a "delimiter"
  12681. should add :key_marker as a "key-marker"
  12682. should add :max_keys as a "max-keys"
  12683. should add :prefix as a "prefix"
  12684. it should behave like requires bucket_name
  12685. raises argument error for blank bucket name
  12686. raises argument error missing bucket name
  12687. uses the hostname s3.amazonaws.com
  12688. puts dns incompatible bucket name in the uri
  12689. puts dns compat bucket name in the host
  12690. it should behave like an s3 http request
  12691. it should behave like an aws http request
  12692. with the proper http verb
  12693. should set use_ssl to the current config use_ssl? value
  12694. should set ssl_verify_peer to the current config ssl_verify_peer? value
  12695. should set ssl_ca_file to the current config ssl_ca_file value
  12696. populates the response with the request options
  12697. raises client errors for errors that can not be retried
  12698. raises client errors for 4xx response codes with a nil response body
  12699. does not retry client errors
  12700. retry requests that respond with 500
  12701. retry requests that respond with 503
  12702. retry throttled requests that respond with 400
  12703. retry timeout errors
  12704. should retry at most 3 times
  12705. should build a new request for each retry
  12706. should retry more times if configured
  12707. should re-raise the server error after retries fail
  12708. should re-raise the timeout error after retries fail
  12709. should sleep between retries
  12710. it backs off exponentially
  12711. it uses a randomized scaling factor for throttled requests
  12712. it should behave like supports async option
  12713. asynchronous
  12714. should call handle_async on the handler
  12715. should return a kind of async handle
  12716. should call the success callback on handler success
  12717. should call the failure callback on handler failure
  12718. should make an error available on handler failure
  12719. should call the failure callback on service failure
  12720. should retry service errors
  12721. should retry timeouts
  12722. should build a new request for each retry
  12723. user_agent
  12724. should set the user_agent header
  12725. should prefix the user agent when configured
  12726. memoization status
  12727. should not include "memoizing" if memoization is disabled
  12728. should include "memoizing" if memoization is enabled
  12729. endpoint
  12730. should default the endpoint given in the client config
  12731. user agent
  12732. should send a user-agent header
  12733. stubbing
  12734. should not call handle
  12735. logging
  12736. should log the client request
  12737. should log server errors
  12738. signing
  12739. should call add_authorization! on the request
  12740. should call add_authorization! with the credential provider
  12741. caching enabled
  12742. should add the low-level response object to the cache
  12743. should not cache on failure
  12744. asynchronous
  12745. should add the response on success
  12746. should not cache on failure
  12747. exceptions
  12748. should raise modeled exceptions for unsuccessful requests
  12749. it should behave like an s3 error response with no body
  12750. should raise an instance of AWS::S3::Errors::NotModified
  12751. should raise an instance of AWS::Errors::ClientError
  12752. it should behave like an s3 error response with no body
  12753. should raise an instance of AWS::S3::Errors::NoSuchKey
  12754. should raise an instance of AWS::Errors::ClientError
  12755. #initiate_multipart_upload
  12756. it should behave like accepts simplified ACL header options
  12757. accpets :grant_read
  12758. accpets :grant_write
  12759. accpets :grant_read_acp
  12760. accpets :grant_write_acp
  12761. accpets :grant_write_acp
  12762. accpets :grant_write_acp
  12763. it should behave like requires bucket_name
  12764. raises argument error for blank bucket name
  12765. raises argument error missing bucket name
  12766. uses the hostname s3.amazonaws.com
  12767. puts dns incompatible bucket name in the uri
  12768. puts dns compat bucket name in the host
  12769. it should behave like requires key
  12770. should raise an argument error for a missing key
  12771. should include the key in the path
  12772. should not strip leading slashes from keys
  12773. it should behave like an s3 http request
  12774. it should behave like an aws http request
  12775. with the proper http verb
  12776. should set use_ssl to the current config use_ssl? value
  12777. should set ssl_verify_peer to the current config ssl_verify_peer? value
  12778. should set ssl_ca_file to the current config ssl_ca_file value
  12779. populates the response with the request options
  12780. raises client errors for errors that can not be retried
  12781. raises client errors for 4xx response codes with a nil response body
  12782. does not retry client errors
  12783. retry requests that respond with 500
  12784. retry requests that respond with 503
  12785. retry throttled requests that respond with 400
  12786. retry timeout errors
  12787. should retry at most 3 times
  12788. should build a new request for each retry
  12789. should retry more times if configured
  12790. should re-raise the server error after retries fail
  12791. should re-raise the timeout error after retries fail
  12792. should sleep between retries
  12793. it backs off exponentially
  12794. it uses a randomized scaling factor for throttled requests
  12795. it should behave like supports async option
  12796. asynchronous
  12797. should call handle_async on the handler
  12798. should return a kind of async handle
  12799. should call the success callback on handler success
  12800. should call the failure callback on handler failure
  12801. should make an error available on handler failure
  12802. should call the failure callback on service failure
  12803. should retry service errors
  12804. should retry timeouts
  12805. should build a new request for each retry
  12806. user_agent
  12807. should set the user_agent header
  12808. should prefix the user agent when configured
  12809. memoization status
  12810. should not include "memoizing" if memoization is disabled
  12811. should include "memoizing" if memoization is enabled
  12812. endpoint
  12813. should default the endpoint given in the client config
  12814. user agent
  12815. should send a user-agent header
  12816. stubbing
  12817. should not call handle
  12818. logging
  12819. should log the client request
  12820. should log server errors
  12821. signing
  12822. should call add_authorization! on the request
  12823. should call add_authorization! with the credential provider
  12824. caching enabled
  12825. should add the low-level response object to the cache
  12826. should not cache on failure
  12827. asynchronous
  12828. should add the response on success
  12829. should not cache on failure
  12830. exceptions
  12831. should raise modeled exceptions for unsuccessful requests
  12832. it should behave like an s3 error response with no body
  12833. should raise an instance of AWS::S3::Errors::NotModified
  12834. should raise an instance of AWS::Errors::ClientError
  12835. it should behave like an s3 error response with no body
  12836. should raise an instance of AWS::S3::Errors::NoSuchKey
  12837. should raise an instance of AWS::Errors::ClientError
  12838. it should behave like a subresource request
  12839. should use the subresource
  12840. it should behave like sends metadata headers
  12841. converts canned acl symbols to strings
  12842. converts storage class symbols to strings
  12843. converts server side encryption symbols to strings
  12844. it should behave like sends option as header
  12845. sends :cache_control as Cache-Control
  12846. does not send a Cache-Control header when :cache_control is not provided
  12847. it should behave like sends option as header
  12848. sends :content_disposition as Content-Disposition
  12849. does not send a Content-Disposition header when :content_disposition is not provided
  12850. it should behave like sends option as header
  12851. sends :content_encoding as Content-Encoding
  12852. does not send a Content-Encoding header when :content_encoding is not provided
  12853. it should behave like sends option as header
  12854. sends :content_type as Content-Type
  12855. does not send a Content-Type header when :content_type is not provided
  12856. it should behave like sends option as header
  12857. sends :expires as Expires
  12858. does not send a Expires header when :expires is not provided
  12859. it should behave like sends option as header
  12860. sends :acl as x-amz-acl
  12861. does not send a x-amz-acl header when :acl is not provided
  12862. it should behave like sends option as header
  12863. sends :storage_class as x-amz-storage-class
  12864. does not send a x-amz-storage-class header when :storage_class is not provided
  12865. it should behave like sends option as header
  12866. sends :server_side_encryption as x-amz-server-side-encryption
  12867. does not send a x-amz-server-side-encryption header when :server_side_encryption is not provided
  12868. custom metadata
  12869. should prefix metadata with x-amz-meta- in the headers
  12870. it should behave like returns server_side_encryption
  12871. should return the server_side_encryption method as a symbol
  12872. #list_multipart_uploads
  12873. should add :delimiter as a "delimiter"
  12874. should add :key_marker as a "key-marker"
  12875. should add :max_keys as a "max-keys"
  12876. should add :upload_id_marker as a "upload-id-marker"
  12877. should add :max_uploads as a "max-uploads"
  12878. should add :prefix as a "prefix"
  12879. it should behave like requires bucket_name
  12880. raises argument error for blank bucket name
  12881. raises argument error missing bucket name
  12882. uses the hostname s3.amazonaws.com
  12883. puts dns incompatible bucket name in the uri
  12884. puts dns compat bucket name in the host
  12885. it should behave like an s3 http request
  12886. it should behave like an aws http request
  12887. with the proper http verb
  12888. should set use_ssl to the current config use_ssl? value
  12889. should set ssl_verify_peer to the current config ssl_verify_peer? value
  12890. should set ssl_ca_file to the current config ssl_ca_file value
  12891. populates the response with the request options
  12892. raises client errors for errors that can not be retried
  12893. raises client errors for 4xx response codes with a nil response body
  12894. does not retry client errors
  12895. retry requests that respond with 500
  12896. retry requests that respond with 503
  12897. retry throttled requests that respond with 400
  12898. retry timeout errors
  12899. should retry at most 3 times
  12900. should build a new request for each retry
  12901. should retry more times if configured
  12902. should re-raise the server error after retries fail
  12903. should re-raise the timeout error after retries fail
  12904. should sleep between retries
  12905. it backs off exponentially
  12906. it uses a randomized scaling factor for throttled requests
  12907. it should behave like supports async option
  12908. asynchronous
  12909. should call handle_async on the handler
  12910. should return a kind of async handle
  12911. should call the success callback on handler success
  12912. should call the failure callback on handler failure
  12913. should make an error available on handler failure
  12914. should call the failure callback on service failure
  12915. should retry service errors
  12916. should retry timeouts
  12917. should build a new request for each retry
  12918. user_agent
  12919. should set the user_agent header
  12920. should prefix the user agent when configured
  12921. memoization status
  12922. should not include "memoizing" if memoization is disabled
  12923. should include "memoizing" if memoization is enabled
  12924. endpoint
  12925. should default the endpoint given in the client config
  12926. user agent
  12927. should send a user-agent header
  12928. stubbing
  12929. should not call handle
  12930. logging
  12931. should log the client request
  12932. should log server errors
  12933. signing
  12934. should call add_authorization! on the request
  12935. should call add_authorization! with the credential provider
  12936. caching enabled
  12937. should add the low-level response object to the cache
  12938. should not cache on failure
  12939. asynchronous
  12940. should add the response on success
  12941. should not cache on failure
  12942. exceptions
  12943. should raise modeled exceptions for unsuccessful requests
  12944. it should behave like an s3 error response with no body
  12945. should raise an instance of AWS::S3::Errors::NotModified
  12946. should raise an instance of AWS::Errors::ClientError
  12947. it should behave like an s3 error response with no body
  12948. should raise an instance of AWS::S3::Errors::NoSuchKey
  12949. should raise an instance of AWS::Errors::ClientError
  12950. it should behave like a subresource request
  12951. should use the subresource
  12952. #upload_part
  12953. requires part_number
  12954. sends :part_number as partNumber
  12955. it should behave like requires bucket_name
  12956. raises argument error for blank bucket name
  12957. raises argument error missing bucket name
  12958. uses the hostname s3.amazonaws.com
  12959. puts dns incompatible bucket name in the uri
  12960. puts dns compat bucket name in the host
  12961. it should behave like requires key
  12962. should raise an argument error for a missing key
  12963. should include the key in the path
  12964. should not strip leading slashes from keys
  12965. it should behave like an s3 http request
  12966. it should behave like an aws http request
  12967. with the proper http verb
  12968. should set use_ssl to the current config use_ssl? value
  12969. should set ssl_verify_peer to the current config ssl_verify_peer? value
  12970. should set ssl_ca_file to the current config ssl_ca_file value
  12971. populates the response with the request options
  12972. raises client errors for errors that can not be retried
  12973. raises client errors for 4xx response codes with a nil response body
  12974. does not retry client errors
  12975. retry requests that respond with 500
  12976. retry requests that respond with 503
  12977. retry throttled requests that respond with 400
  12978. retry timeout errors
  12979. should retry at most 3 times
  12980. should build a new request for each retry
  12981. should retry more times if configured
  12982. should re-raise the server error after retries fail
  12983. should re-raise the timeout error after retries fail
  12984. should sleep between retries
  12985. it backs off exponentially
  12986. it uses a randomized scaling factor for throttled requests
  12987. it should behave like supports async option
  12988. asynchronous
  12989. should call handle_async on the handler
  12990. should return a kind of async handle
  12991. should call the success callback on handler success
  12992. should call the failure callback on handler failure
  12993. should make an error available on handler failure
  12994. should call the failure callback on service failure
  12995. should retry service errors
  12996. should retry timeouts
  12997. should build a new request for each retry
  12998. user_agent
  12999. should set the user_agent header
  13000. should prefix the user agent when configured
  13001. memoization status
  13002. should not include "memoizing" if memoization is disabled
  13003. should include "memoizing" if memoization is enabled
  13004. endpoint
  13005. should default the endpoint given in the client config
  13006. user agent
  13007. should send a user-agent header
  13008. stubbing
  13009. should not call handle
  13010. logging
  13011. should log the client request
  13012. should log server errors
  13013. signing
  13014. should call add_authorization! on the request
  13015. should call add_authorization! with the credential provider
  13016. caching enabled
  13017. should add the low-level response object to the cache
  13018. should not cache on failure
  13019. asynchronous
  13020. should add the response on success
  13021. should not cache on failure
  13022. exceptions
  13023. should raise modeled exceptions for unsuccessful requests
  13024. it should behave like an s3 error response with no body
  13025. should raise an instance of AWS::S3::Errors::NotModified
  13026. should raise an instance of AWS::Errors::ClientError
  13027. it should behave like an s3 error response with no body
  13028. should raise an instance of AWS::S3::Errors::NoSuchKey
  13029. should raise an instance of AWS::Errors::ClientError
  13030. it should behave like accepts input data
  13031. data
  13032. is required
  13033. is accepted from blocks with 1 argument
  13034. is rejected from blocks with no args
  13035. is rejected from blocks with more than 1 arg
  13036. is accepted as a string
  13037. accepts a pathname
  13038. is accepted as a tempfile
  13039. is accepted as a file
  13040. is accepted as an io object
  13041. is accepted from any obj responding to #read(length) and #eof?
  13042. may not be passed as :data and as a block
  13043. blocks
  13044. yields a buffer to write to
  13045. collects data written to the buffer for the body
  13046. strings
  13047. get passed through to the request body
  13048. is forced to binary encoding if it responds to #force_encoding
  13049. file names
  13050. no encoding support
  13051. get passed as the opened file
  13052. works the same for Pathname objects
  13053. encoding support
  13054. get passed as the opened file
  13055. works the same for Pathname objects
  13056. content length
  13057. gets calculated on strings
  13058. gets calculated on pathnames
  13059. gets calculated on files
  13060. gets calculated on objects that responds to #length
  13061. gets calculated on objects that responds to #size
  13062. gets calculated on objects that respond to #bytesize
  13063. is accepted as an option
  13064. is required for io-like objects without size
  13065. is required for block form
  13066. it should behave like sends option as header
  13067. sends :content_md5 as Content-MD5
  13068. does not send a Content-MD5 header when :content_md5 is not provided
  13069. it should behave like accepts upload_id
  13070. requires upload_id
  13071. sends :upload_id as uploadId
  13072. it should behave like returns etag
  13073. should return the etag as a string
  13074. it should behave like returns last_modified
  13075. should return the last_modified time as a Time object
  13076. it should behave like returns server_side_encryption
  13077. should return the server_side_encryption method as a symbol
  13078. #complete_multipart_upload
  13079. requires parts
  13080. requires at least one part
  13081. sends :parts as an XML request body
  13082. converts the part number to an integer
  13083. escapes XML characters in the etag
  13084. it should behave like requires bucket_name
  13085. raises argument error for blank bucket name
  13086. raises argument error missing bucket name
  13087. uses the hostname s3.amazonaws.com
  13088. puts dns incompatible bucket name in the uri
  13089. puts dns compat bucket name in the host
  13090. it should behave like requires key
  13091. should raise an argument error for a missing key
  13092. should include the key in the path
  13093. should not strip leading slashes from keys
  13094. it should behave like an s3 http request
  13095. it should behave like an aws http request
  13096. with the proper http verb
  13097. should set use_ssl to the current config use_ssl? value
  13098. should set ssl_verify_peer to the current config ssl_verify_peer? value
  13099. should set ssl_ca_file to the current config ssl_ca_file value
  13100. populates the response with the request options
  13101. raises client errors for errors that can not be retried
  13102. raises client errors for 4xx response codes with a nil response body
  13103. does not retry client errors
  13104. retry requests that respond with 500
  13105. retry requests that respond with 503
  13106. retry throttled requests that respond with 400
  13107. retry timeout errors
  13108. should retry at most 3 times
  13109. should build a new request for each retry
  13110. should retry more times if configured
  13111. should re-raise the server error after retries fail
  13112. should re-raise the timeout error after retries fail
  13113. should sleep between retries
  13114. it backs off exponentially
  13115. it uses a randomized scaling factor for throttled requests
  13116. it should behave like supports async option
  13117. asynchronous
  13118. should call handle_async on the handler
  13119. should return a kind of async handle
  13120. should call the success callback on handler success
  13121. should call the failure callback on handler failure
  13122. should make an error available on handler failure
  13123. should call the failure callback on service failure
  13124. should retry service errors
  13125. should retry timeouts
  13126. should build a new request for each retry
  13127. user_agent
  13128. should set the user_agent header
  13129. should prefix the user agent when configured
  13130. memoization status
  13131. should not include "memoizing" if memoization is disabled
  13132. should include "memoizing" if memoization is enabled
  13133. endpoint
  13134. should default the endpoint given in the client config
  13135. user agent
  13136. should send a user-agent header
  13137. stubbing
  13138. should not call handle
  13139. logging
  13140. should log the client request
  13141. should log server errors
  13142. signing
  13143. should call add_authorization! on the request
  13144. should call add_authorization! with the credential provider
  13145. caching enabled
  13146. should add the low-level response object to the cache
  13147. should not cache on failure
  13148. asynchronous
  13149. should add the response on success
  13150. should not cache on failure
  13151. exceptions
  13152. should raise modeled exceptions for unsuccessful requests
  13153. it should behave like an s3 error response with no body
  13154. should raise an instance of AWS::S3::Errors::NotModified
  13155. should raise an instance of AWS::Errors::ClientError
  13156. it should behave like an s3 error response with no body
  13157. should raise an instance of AWS::S3::Errors::NoSuchKey
  13158. should raise an instance of AWS::Errors::ClientError
  13159. it should behave like accepts upload_id
  13160. requires upload_id
  13161. sends :upload_id as uploadId
  13162. it should behave like returns version id
  13163. defaults version ids to nil
  13164. populates the version when present
  13165. it should behave like returns server_side_encryption
  13166. should return the server_side_encryption method as a symbol
  13167. errors in the response body
  13168. should retry
  13169. should raise a modeled exception
  13170. each part
  13171. must be a hash
  13172. requires a part number
  13173. requires an etag
  13174. each part number
  13175. must be greater than 0
  13176. #abort_multipart_upload
  13177. it should behave like requires bucket_name
  13178. raises argument error for blank bucket name
  13179. raises argument error missing bucket name
  13180. uses the hostname s3.amazonaws.com
  13181. puts dns incompatible bucket name in the uri
  13182. puts dns compat bucket name in the host
  13183. it should behave like requires key
  13184. should raise an argument error for a missing key
  13185. should include the key in the path
  13186. should not strip leading slashes from keys
  13187. it should behave like an s3 http request
  13188. it should behave like an aws http request
  13189. with the proper http verb
  13190. should set use_ssl to the current config use_ssl? value
  13191. should set ssl_verify_peer to the current config ssl_verify_peer? value
  13192. should set ssl_ca_file to the current config ssl_ca_file value
  13193. populates the response with the request options
  13194. raises client errors for errors that can not be retried
  13195. raises client errors for 4xx response codes with a nil response body
  13196. does not retry client errors
  13197. retry requests that respond with 500
  13198. retry requests that respond with 503
  13199. retry throttled requests that respond with 400
  13200. retry timeout errors
  13201. should retry at most 3 times
  13202. should build a new request for each retry
  13203. should retry more times if configured
  13204. should re-raise the server error after retries fail
  13205. should re-raise the timeout error after retries fail
  13206. should sleep between retries
  13207. it backs off exponentially
  13208. it uses a randomized scaling factor for throttled requests
  13209. it should behave like supports async option
  13210. asynchronous
  13211. should call handle_async on the handler
  13212. should return a kind of async handle
  13213. should call the success callback on handler success
  13214. should call the failure callback on handler failure
  13215. should make an error available on handler failure
  13216. should call the failure callback on service failure
  13217. should retry service errors
  13218. should retry timeouts
  13219. should build a new request for each retry
  13220. user_agent
  13221. should set the user_agent header
  13222. should prefix the user agent when configured
  13223. memoization status
  13224. should not include "memoizing" if memoization is disabled
  13225. should include "memoizing" if memoization is enabled
  13226. endpoint
  13227. should default the endpoint given in the client config
  13228. user agent
  13229. should send a user-agent header
  13230. stubbing
  13231. should not call handle
  13232. logging
  13233. should log the client request
  13234. should log server errors
  13235. signing
  13236. should call add_authorization! on the request
  13237. should call add_authorization! with the credential provider
  13238. caching enabled
  13239. should add the low-level response object to the cache
  13240. should not cache on failure
  13241. asynchronous
  13242. should add the response on success
  13243. should not cache on failure
  13244. exceptions
  13245. should raise modeled exceptions for unsuccessful requests
  13246. it should behave like an s3 error response with no body
  13247. should raise an instance of AWS::S3::Errors::NotModified
  13248. should raise an instance of AWS::Errors::ClientError
  13249. it should behave like an s3 error response with no body
  13250. should raise an instance of AWS::S3::Errors::NoSuchKey
  13251. should raise an instance of AWS::Errors::ClientError
  13252. it should behave like accepts upload_id
  13253. requires upload_id
  13254. sends :upload_id as uploadId
  13255. #list_parts
  13256. sends :max_parts as max-parts
  13257. sends :part_number_marker as part-number-marker
  13258. it should behave like requires bucket_name
  13259. raises argument error for blank bucket name
  13260. raises argument error missing bucket name
  13261. uses the hostname s3.amazonaws.com
  13262. puts dns incompatible bucket name in the uri
  13263. puts dns compat bucket name in the host
  13264. it should behave like requires key
  13265. should raise an argument error for a missing key
  13266. should include the key in the path
  13267. should not strip leading slashes from keys
  13268. it should behave like an s3 http request
  13269. it should behave like an aws http request
  13270. with the proper http verb
  13271. should set use_ssl to the current config use_ssl? value
  13272. should set ssl_verify_peer to the current config ssl_verify_peer? value
  13273. should set ssl_ca_file to the current config ssl_ca_file value
  13274. populates the response with the request options
  13275. raises client errors for errors that can not be retried
  13276. raises client errors for 4xx response codes with a nil response body
  13277. does not retry client errors
  13278. retry requests that respond with 500
  13279. retry requests that respond with 503
  13280. retry throttled requests that respond with 400
  13281. retry timeout errors
  13282. should retry at most 3 times
  13283. should build a new request for each retry
  13284. should retry more times if configured
  13285. should re-raise the server error after retries fail
  13286. should re-raise the timeout error after retries fail
  13287. should sleep between retries
  13288. it backs off exponentially
  13289. it uses a randomized scaling factor for throttled requests
  13290. it should behave like supports async option
  13291. asynchronous
  13292. should call handle_async on the handler
  13293. should return a kind of async handle
  13294. should call the success callback on handler success
  13295. should call the failure callback on handler failure
  13296. should make an error available on handler failure
  13297. should call the failure callback on service failure
  13298. should retry service errors
  13299. should retry timeouts
  13300. should build a new request for each retry
  13301. user_agent
  13302. should set the user_agent header
  13303. should prefix the user agent when configured
  13304. memoization status
  13305. should not include "memoizing" if memoization is disabled
  13306. should include "memoizing" if memoization is enabled
  13307. endpoint
  13308. should default the endpoint given in the client config
  13309. user agent
  13310. should send a user-agent header
  13311. stubbing
  13312. should not call handle
  13313. logging
  13314. should log the client request
  13315. should log server errors
  13316. signing
  13317. should call add_authorization! on the request
  13318. should call add_authorization! with the credential provider
  13319. caching enabled
  13320. should add the low-level response object to the cache
  13321. should not cache on failure
  13322. asynchronous
  13323. should add the response on success
  13324. should not cache on failure
  13325. exceptions
  13326. should raise modeled exceptions for unsuccessful requests
  13327. it should behave like an s3 error response with no body
  13328. should raise an instance of AWS::S3::Errors::NotModified
  13329. should raise an instance of AWS::Errors::ClientError
  13330. it should behave like an s3 error response with no body
  13331. should raise an instance of AWS::S3::Errors::NoSuchKey
  13332. should raise an instance of AWS::Errors::ClientError
  13333. it should behave like accepts upload_id
  13334. requires upload_id
  13335. sends :upload_id as uploadId
  13336. #valid_bucket_name?
  13337. only accepts a-z 0-9 . _ - characters
  13338. should return true for valid names
  13339. should return false for invalid names
  13340. accepts letters and
  13341. should accept lowercasename
  13342. should reject MixedCaseName
  13343. accepts numbers and
  13344. should accept 123456
  13345. accepts names between 3 and 255 characters and
  13346. should accept abc
  13347. should reject ab
  13348. should accept a 255 char long name
  13349. should reject a 256 char long name
  13350. accepts dots after the first character and
  13351. should accept sample.name
  13352. should accept sample.
  13353. should reject .sample
  13354. accepts underscores after first character and
  13355. should accept sample_name
  13356. should accept sample_
  13357. should reject _sample
  13358. accepts dashes after first character and
  13359. should accept sample-name
  13360. should accept sample-
  13361. should reject -sample
  13362. rejects names that look like ip addresses and
  13363. should accept 1.a.3.4
  13364. should reject 1.2.3.4
  13365. #dns_compatible_bucket_name?
  13366. should reject names that are not valid bucket names
  13367. should accept a 63 char long name
  13368. should reject a 64 char long name
  13369. should reject names with _
  13370. should reject names ending with -
  13371. should reject names containing ..
  13372. should reject names containing .-
  13373. should reject names containing -.
  13374. should return true for various compatible names
  13375. should return false for various incompatible names
  13376. AWS::S3::Errors::NoSuchBucket
  13377. it should behave like modeled s3 exception
  13378. should parse the exception XML
  13379. should be a kind of AWS::Errors::ClientError
  13380. AWS::S3::Errors::InternalError
  13381. it should behave like modeled s3 exception
  13382. should parse the exception XML
  13383. should be a kind of AWS::Errors::ServerError
  13384. AWS::S3::Errors::NotImplemented
  13385. it should behave like modeled s3 exception
  13386. should parse the exception XML
  13387. should be a kind of AWS::Errors::ServerError
  13388. AWS::S3::Errors::SlowDown
  13389. it should behave like modeled s3 exception
  13390. should parse the exception XML
  13391. should be a kind of AWS::Errors::ServerError
  13392. AWS::S3::MultipartUploadCollection
  13393. behaves like an S3 model object
  13394. #initialize
  13395. should not read the client
  13396. #client
  13397. gets the client from the configuration
  13398. #inspect
  13399. should have a short inspect method
  13400. behaves like enumerable
  13401. should not read the client
  13402. behaves like an S3 tree-like collection
  13403. behaves like an S3 prefixed collection
  13404. #prefix
  13405. defaults to nil
  13406. can be passed to initialize
  13407. #with_prefix
  13408. gripes about other modes
  13409. should be chainable
  13410. should be chainable without altering parent collection
  13411. should pass the config
  13412. #each
  13413. should pass the prefix when there is one
  13414. #as_tree
  13415. should return a Tree object
  13416. should pass any additional options
  13417. should pass the collection prefix by default
  13418. should allow the prefix to be overridden
  13419. #each
  13420. should pass the delimiter if provided
  13421. common prefixes
  13422. should yield a new collection for each prefix
  13423. should pass the config
  13424. behaves like an S3 paginated collection
  13425. #each
  13426. should call the list method
  13427. should pass a default batch size
  13428. should request the next page for a truncated response
  13429. limits
  13430. should limit by the batch size if it is smaller than the limit
  13431. should limit by the provided limit if it is smaller than the batch size
  13432. #initialize
  13433. should store the bucket
  13434. #each
  13435. should yield an upload object for each result
  13436. should pass the object
  13437. AWS::S3::MultipartUpload
  13438. #initialize
  13439. should store the upload id
  13440. should store the object
  13441. #bucket
  13442. returns the object bucket
  13443. #inspect
  13444. should include the object key and upload id
  13445. #==
  13446. same class
  13447. should return true if the object and ID match
  13448. should return false if the object does not match
  13449. should return false if the ID does not match
  13450. different class
  13451. should return false
  13452. #exists?
  13453. should call list_parts
  13454. should return false if NoSuchUpload is raised
  13455. should not rescue other client errors
  13456. should return true if nothing is raised
  13457. #initiator
  13458. should call list_parts
  13459. should return the response object for the initiator
  13460. #owner
  13461. should call list_parts
  13462. should return the response object for the owner
  13463. #storage_class
  13464. should call list_parts
  13465. should return the symbol-ized storage class
  13466. #reduced_redundancy?
  13467. should return true when the storage class is :reduced_redundancy
  13468. should return false when the storage class is something else
  13469. #abort
  13470. should call abort_multipart_upload
  13471. should set aborted?
  13472. #add_part
  13473. should call upload_part
  13474. should call upload_part with monotonically increasing part numbers
  13475. should use the part number specified in the options
  13476. should accept a file using a hash argument
  13477. should use the part number specified in the options for a file path upload
  13478. should return a part object with the correct part number
  13479. #parts
  13480. should construct an UploadedPartCollection
  13481. #completed_parts
  13482. should return the parts sorted by part number
  13483. should remove duplicate part uploads
  13484. #close
  13485. no parts uploaded
  13486. should abort the upload
  13487. parts uploaded
  13488. should complete the upload
  13489. should not complete or abort an aborted upload
  13490. #complete
  13491. local parts list
  13492. should complete the upload using the completed parts
  13493. no parts uploaded
  13494. should raise an error
  13495. remote parts list
  13496. should call list_parts
  13497. should call complete_multipart_upload
  13498. no parts uploaded
  13499. should raise an error
  13500. list of part numbers
  13501. should call list_parts
  13502. should complete with only the specified parts
  13503. should put the part numbers in ascending order
  13504. should accept an array of part numbers
  13505. should accept part objects from the same upload
  13506. should raise an error for parts from a different upload
  13507. should raise an error for non-number, non-part arguments
  13508. AWS::S3::ObjectCollection
  13509. behaves like an S3 model object
  13510. #initialize
  13511. should not read the client
  13512. #client
  13513. gets the client from the configuration
  13514. #inspect
  13515. should have a short inspect method
  13516. behaves like an S3 tree-like collection
  13517. behaves like an S3 prefixed collection
  13518. #prefix
  13519. defaults to nil
  13520. can be passed to initialize
  13521. #with_prefix
  13522. gripes about other modes
  13523. should be chainable
  13524. should be chainable without altering parent collection
  13525. should pass the config
  13526. #each
  13527. should pass the prefix when there is one
  13528. #as_tree
  13529. should return a Tree object
  13530. should pass any additional options
  13531. should pass the collection prefix by default
  13532. should allow the prefix to be overridden
  13533. #each
  13534. should pass the delimiter if provided
  13535. common prefixes
  13536. should yield a new collection for each prefix
  13537. should pass the config
  13538. behaves like an S3 paginated collection
  13539. #each
  13540. should call the list method
  13541. should pass a default batch size
  13542. should request the next page for a truncated response
  13543. limits
  13544. should limit by the batch size if it is smaller than the limit
  13545. should limit by the provided limit if it is smaller than the batch size
  13546. #create
  13547. creates a new s3 object and writes to it
  13548. creates a new s3 object and writes to it
  13549. #each
  13550. raises a runtime error if the response says its but there are no keys
  13551. should call list_objects with the bucket name
  13552. should yield one object for each listed contents
  13553. should yield an s3 object for each item in the response list
  13554. should yield an s3 object with the correct keys
  13555. should request the next page if the result is trucated
  13556. #with_prefix
  13557. should pass #prefix to client#list_objects
  13558. #delete
  13559. calls delete_objects on the client
  13560. accepts mixed keys (strings, hashes, objects and versions)
  13561. can delete a batch of 1k objects in a single call
  13562. deletes > 1k objects in multiple calls
  13563. #delete_if
  13564. enumerates the collection and deletes objects that return true
  13565. #delete_all
  13566. calls #delete on each batch of the collection
  13567. AWS::S3::ObjectMetadata
  13568. behaves like an S3 model object
  13569. #initialize
  13570. should not read the client
  13571. #client
  13572. gets the client from the configuration
  13573. #inspect
  13574. should have a short inspect method
  13575. #[]
  13576. with a string
  13577. should call head_object on the client
  13578. should return the value from the metadata hash
  13579. should return nil if there is no metadata entry
  13580. with a symbol
  13581. should call head_object on the client
  13582. should return the value from the metadata hash
  13583. should return nil if there is no metadata entry
  13584. #[]=
  13585. should call copy_object with the full, modified metadata and key
  13586. should work with symbol keys
  13587. should return the value that was set
  13588. should raise an error if the version ID is set
  13589. #method_missing
  13590. should call head_object on the client
  13591. should return the value from the metadata hash
  13592. should return nil if there is no metadata entry
  13593. should not apply to method calls with arguments
  13594. should not apply to method calls with blocks
  13595. #to_h
  13596. returns the metadata hash from the response
  13597. AWS::S3::ObjectUploadCollection
  13598. behaves like an S3 model object
  13599. #initialize
  13600. should not read the client
  13601. #client
  13602. gets the client from the configuration
  13603. #inspect
  13604. should have a short inspect method
  13605. behaves like enumerable
  13606. should not read the client
  13607. behaves like an S3 paginated collection
  13608. #each
  13609. should call the list method
  13610. should pass a default batch size
  13611. should request the next page for a truncated response
  13612. limits
  13613. should limit by the batch size if it is smaller than the limit
  13614. should limit by the provided limit if it is smaller than the batch size
  13615. #initialize
  13616. should store the object
  13617. #create
  13618. should initiate a multipart upload
  13619. should pass additional options to the initiate call
  13620. should interpret :reduced_redundancy
  13621. should return the upload object
  13622. should pass the S3Object to the upload object
  13623. should pass the config
  13624. #each
  13625. returns nil
  13626. should yield upload objects
  13627. should only yield uploads with the same key as the object
  13628. should pass the object
  13629. should use the object key as a prefix
  13630. #[]
  13631. should return an upload object
  13632. should pass the object
  13633. should pass the config
  13634. should pass the upload id
  13635. AWS::S3::ObjectVersionCollection
  13636. it should behave like an S3 model object
  13637. #initialize
  13638. should not read the client
  13639. #client
  13640. gets the client from the configuration
  13641. #inspect
  13642. should have a short inspect method
  13643. it should behave like enumerable
  13644. should not read the client
  13645. #intialize
  13646. requires object
  13647. #[]
  13648. it returns a versioned object
  13649. returns an object with the correct version id
  13650. returns an object with the correct s3 object
  13651. #latest
  13652. should return the first object with the correct key
  13653. #each
  13654. calls bucket versions to get a list of versions
  13655. rejects versions that dont have the same key
  13656. AWS::S3::ObjectVersion
  13657. behaves like an S3 model object
  13658. #initialize
  13659. should not read the client
  13660. #client
  13661. gets the client from the configuration
  13662. #inspect
  13663. should have a short inspect method
  13664. behaves like a resource object
  13665. #inspect
  13666. should include the ID
  13667. it should behave like resource equality method
  13668. #==
  13669. same class
  13670. should return true if everything matches
  13671. should return false if any identifying information does not match
  13672. different class
  13673. should return false
  13674. it should behave like resource equality method
  13675. #eql?
  13676. same class
  13677. should return true if everything matches
  13678. should return false if any identifying information does not match
  13679. different class
  13680. should return false
  13681. #initialize
  13682. accepts an object and a version_id
  13683. #url_for
  13684. calls #url_for on the object with a version id
  13685. #object
  13686. returns the s3 object
  13687. #bucket
  13688. returns the object bucket
  13689. #version_id
  13690. returns the version id
  13691. #latest
  13692. uses object.versions.latest to determine if latest
  13693. returns true if object.versions.latest is self
  13694. uses object.versions.latest to determine if latest
  13695. #delete_marker
  13696. returns true if set as such
  13697. returns false if set as such
  13698. does not make a request if passed to #initialize
  13699. does makes a request if not passed to #initialize
  13700. returns true if head_object raises a 405 client error
  13701. returns false if head_object does not raise an error
  13702. #key
  13703. should return the same value as object#key
  13704. #metadata
  13705. should call metadata on the object with a version id
  13706. #delete
  13707. should call delete on the object with a version id
  13708. #read
  13709. should call read on the object with a version id
  13710. AWS::S3::Policy::Statement
  13711. it should behave like generic policy statement
  13712. #initialize
  13713. should yield the statement object
  13714. should work without a block
  13715. should not output both Action and NotAction
  13716. it should behave like singular constructor arg
  13717. should accept Effect
  13718. should accept :effect
  13719. should output the :effect constructor arg
  13720. should not have a effect value when it is explicitly nil
  13721. it should behave like singular constructor arg
  13722. should accept Sid
  13723. should accept :sid
  13724. should output the :sid constructor arg
  13725. should not have a sid value when it is explicitly nil
  13726. it should behave like array constructor arg
  13727. should accept actions (single)
  13728. should accept Action (single)
  13729. should accept actions (multiple)
  13730. should accept Action (multiple)
  13731. it should behave like array constructor arg
  13732. should accept excluded_actions (single)
  13733. should accept NotAction (single)
  13734. should accept excluded_actions (multiple)
  13735. should accept NotAction (multiple)
  13736. it should behave like array constructor arg
  13737. should accept principals (single)
  13738. should accept Principal (single)
  13739. should accept principals (multiple)
  13740. should accept Principal (multiple)
  13741. it should behave like array constructor arg
  13742. should accept resources (single)
  13743. should accept Resource (single)
  13744. should accept resources (multiple)
  13745. should accept Resource (multiple)
  13746. Principal hash option
  13747. should accept a hash
  13748. should accept a single AWS principal
  13749. should accept multiple AWS principals
  13750. Condition hash option
  13751. should construct a ConditionBlock
  13752. empty
  13753. #to_h
  13754. should have an Sid generated from a UUID
  13755. should not have a principal
  13756. should not have a condition block
  13757. with an effect
  13758. should generate an Effect
  13759. with AWS account principals
  13760. should generate a multi-valued Principal
  13761. with any AWS account principal
  13762. should generate a wildcard Principal
  13763. with a prefixed string action
  13764. should generate an Action
  13765. with any action
  13766. should generate a wildcard Action
  13767. with multiple actions
  13768. should generate a multi-valued Action
  13769. excluded actions
  13770. should generate a multi-valued NotAction
  13771. #include_actions
  13772. should generate a multi-valued Action
  13773. should add to existing actions
  13774. #exclude_actions
  13775. should generate a multi-valued NotAction
  13776. should add to existing actions
  13777. with a resource ARN
  13778. should generate a Resource key
  13779. with :any as the resource
  13780. should generate a wildcard for the Resource
  13781. with a condition block
  13782. should generate a Condition key
  13783. #conditions
  13784. should be a ConditionBlock by default
  13785. it should behave like service specific policy statement
  13786. symbolized action names
  13787. raises error for unknown actions
  13788. translates action names
  13789. translates excluded actions
  13790. resource arns
  13791. prefixes bucket names
  13792. prefixes buckets with key paths
  13793. prefixes bucket objects
  13794. prefixes s3 objects
  13795. prefixes s3 object collections
  13796. AWS::S3::PresignedPost
  13797. behaves like an S3 model object
  13798. #initialize
  13799. should not read the client
  13800. #client
  13801. gets the client from the configuration
  13802. #inspect
  13803. should have a short inspect method
  13804. #initialize
  13805. should store the bucket
  13806. should store :secure
  13807. should store :metadata
  13808. should store :expires
  13809. should store the content length range
  13810. should convert an integer to a range
  13811. should store ignored fields
  13812. should coerce ignored fields to an array
  13813. :server_side_encryption option
  13814. should use the configured value by default
  13815. should allow the configured value to be overridden with nil
  13816. #where
  13817. should accept :key
  13818. should accept :content_length
  13819. should accept x-amz-meta- fields
  13820. should not accept arbitrary, non-metadata names
  13821. equality condition
  13822. should add the condition
  13823. should not modify the original
  13824. it should behave like POST policy condition preserves fields
  13825. should preserve the bucket
  13826. should preserve the metadata
  13827. should preserve the key
  13828. should preserve the content length range
  13829. should preserve special fields
  13830. should preserve secure?
  13831. should preserve expires
  13832. should preserve ignored_fields
  13833. starts with condition
  13834. should add the condition
  13835. should not modify the original
  13836. should apply the x-amz-security token condition when appropriate
  13837. it should behave like POST policy condition preserves fields
  13838. should preserve the bucket
  13839. should preserve the metadata
  13840. should preserve the key
  13841. should preserve the content length range
  13842. should preserve special fields
  13843. should preserve secure?
  13844. should preserve expires
  13845. should preserve ignored_fields
  13846. range condition
  13847. should override the content length
  13848. should not modify the original
  13849. it should behave like POST policy condition preserves fields
  13850. should preserve the bucket
  13851. should preserve the metadata
  13852. should preserve the key
  13853. should preserve special fields
  13854. should preserve secure?
  13855. should preserve expires
  13856. should preserve ignored_fields
  13857. single-value range condition (syntactic sugar)
  13858. should override the content length
  13859. should not modify the original
  13860. it should behave like POST policy condition preserves fields
  13861. should preserve the bucket
  13862. should preserve the metadata
  13863. should preserve the key
  13864. should preserve special fields
  13865. should preserve secure?
  13866. should preserve expires
  13867. should preserve ignored_fields
  13868. #where_metadata
  13869. should call #where with the metadata field name
  13870. #metadata
  13871. should be an empty hash by default
  13872. #ignored_fields
  13873. should be an empty array by default
  13874. #url
  13875. should be an HTTPS URI
  13876. should be an HTTP URI if secure is false
  13877. dns compatible bucket
  13878. should use the subdomain-style host
  13879. dns incompatible bucket
  13880. should use the path-style url
  13881. #policy
  13882. should be valid Base64-encoded JSON
  13883. should strip newlines from the encoded policy
  13884. should expire an hour from now by default
  13885. should contain a conditions array
  13886. when :expires is provided
  13887. should support Time
  13888. should support DateTime
  13889. should support an integer offset
  13890. should support a parseable date/time string
  13891. conditions array
  13892. should contain an entry allowing any key by default
  13893. should contain an entry specifying the key if provided
  13894. should restrict the key prefix if it includes a filename variable
  13895. should contain an entry specifying the bucket
  13896. should contain an entry for each metadata key
  13897. should stringify metadata values
  13898. should contain an entry for the content length range
  13899. should subtract one from the end of an exclusive range
  13900. should add an entry for each ignored field
  13901. #fields
  13902. should include AWSAccessKeyId
  13903. should include key if provided
  13904. should include policy
  13905. should properly transform acl names
  13906. should properly transform the server side encryption algorithm
  13907. should contain an entry for each metadata key
  13908. signature
  13909. should use the signer to compute the signature
  13910. should sign the policy
  13911. behaves like presigned post special field
  13912. #where
  13913. should accept :acl
  13914. #fields
  13915. should include :acl as acl
  13916. #policy
  13917. should include a condition for acl
  13918. non-string value
  13919. should be stringified
  13920. behaves like presigned post special field
  13921. #where
  13922. should accept :server_side_encryption
  13923. #fields
  13924. should include :server_side_encryption as x-amz-server-side-encryption
  13925. #policy
  13926. should include a condition for x-amz-server-side-encryption
  13927. non-string value
  13928. should be stringified
  13929. behaves like presigned post special field
  13930. #where
  13931. should accept :cache_control
  13932. #fields
  13933. should include :cache_control as Cache-Control
  13934. #policy
  13935. should include a condition for Cache-Control
  13936. non-string value
  13937. should be stringified
  13938. behaves like presigned post special field
  13939. #where
  13940. should accept :content_type
  13941. #fields
  13942. should include :content_type as Content-Type
  13943. #policy
  13944. should include a condition for Content-Type
  13945. non-string value
  13946. should be stringified
  13947. behaves like presigned post special field
  13948. #where
  13949. should accept :content_disposition
  13950. #fields
  13951. should include :content_disposition as Content-Disposition
  13952. #policy
  13953. should include a condition for Content-Disposition
  13954. non-string value
  13955. should be stringified
  13956. behaves like presigned post special field
  13957. #where
  13958. should accept :content_encoding
  13959. #fields
  13960. should include :content_encoding as Content-Encoding
  13961. #policy
  13962. should include a condition for Content-Encoding
  13963. non-string value
  13964. should be stringified
  13965. behaves like presigned post special field
  13966. #where
  13967. should accept :expires_header
  13968. #fields
  13969. should include :expires_header as Expires
  13970. #policy
  13971. should include a condition for Expires
  13972. non-string value
  13973. should be stringified
  13974. behaves like presigned post special field
  13975. #where
  13976. should accept :success_action_redirect
  13977. #fields
  13978. should include :success_action_redirect as success_action_redirect
  13979. #policy
  13980. should include a condition for success_action_redirect
  13981. non-string value
  13982. should be stringified
  13983. behaves like presigned post special field
  13984. #where
  13985. should accept :success_action_status
  13986. #fields
  13987. should include :success_action_status as success_action_status
  13988. #policy
  13989. should include a condition for success_action_status
  13990. non-string value
  13991. should be stringified
  13992. behaves like presigned post special field
  13993. #where
  13994. should accept :filename
  13995. #fields
  13996. should include :filename as Filename
  13997. #policy
  13998. should include a condition for Filename
  13999. non-string value
  14000. should be stringified
  14001. AWS::S3::Request
  14002. #key
  14003. accepts a key
  14004. #bucket
  14005. accepts a bucket
  14006. #path
  14007. defaults to /
  14008. is / for dns compat bucket names with no key
  14009. includes dns incompatable bucket names
  14010. includes keys but not dns compat bucket name
  14011. combines keys and dns-incompatible bucket names
  14012. should URI-encode the key
  14013. should not URI-encode path separators in the key
  14014. should not remove prefixed slashes
  14015. should not remove prefixed slashes
  14016. should accept a path of only slashes
  14017. should accept a path of only slashes
  14018. should preserve a trailing slash in the key
  14019. #uri
  14020. contains the path followed by the querystring params
  14021. omits dns compat bucket names
  14022. #host
  14023. should contain dns compat bucket names and endpoint
  14024. should not contain dns compat bucket names that have periods
  14025. #add_authorization!
  14026. credentials does not provide a session token
  14027. should not add the x-amz-security-token header
  14028. signer has a session token configured
  14029. should add the x-amz-security-token header prior to computing the signature
  14030. #string_to_sign
  14031. line 1 is the http verb
  14032. line 2 is the content md5
  14033. line 3 is the content type
  14034. line 4 is the date
  14035. lines 5 till the end -1 are the canonicalized amazon headers
  14036. the last line is the canonicalized resource
  14037. #canonicalized resource
  14038. should begin with a slash
  14039. should begin with the bucket if it is not dns compat
  14040. should begin with the path if the host is dns compat
  14041. should sort sub resources
  14042. should include parameters controlling the response headers
  14043. (S3 developer guide examples)
  14044. should produce the right string for GET object
  14045. should produce the right string for PUT object
  14046. should produce the right string for GET bucket
  14047. places dns compat names into the path when they contain .
  14048. should produce the right string for GET service
  14049. should add a Date header if not provided
  14050. should omit the date line when provided via x-amz-date
  14051. AWS::S3::S3Object
  14052. #copy_from
  14053. calls copy_object on the client
  14054. accepts a key string and defaults bucket to same bucket
  14055. accepts a key string and a bucket
  14056. accepts a key string and a bucket name
  14057. accepts s3 objects
  14058. defaults metadata directive to COPY
  14059. allows you to change the metadata
  14060. allows you to change content type
  14061. allows you to store the copied object with reduced redundancy
  14062. allows you to set a canned ACL
  14063. allows you copy an objects version by version id
  14064. allows you to copy a versioned object
  14065. :server_side_encryption option
  14066. allows you to specify a value
  14067. uses the configured value by default
  14068. allows you to override the configured value
  14069. allows you to override the configured value with nil
  14070. #copy_to
  14071. calls copy_object on the client
  14072. accepts a key string and defaults bucket to same bucket
  14073. returns the copied/target object
  14074. accepts a key string and a bucket
  14075. accepts a key string and a bucket name
  14076. accepts s3 objects
  14077. defaults metadata directive to COPY
  14078. allows you to change the metadata
  14079. allows you to store the copied object with reduced redundancy
  14080. allows you to set a canned ACL
  14081. :server_side_encryption option
  14082. allows you to specify a value
  14083. uses the configured value by default
  14084. allows you to override the configured value
  14085. allows you to override the configured value with nil
  14086. #move_to
  14087. calls #copy_to followed by #delete
  14088. returns a new object (where it was copied to)
  14089. can be used to copy across buckets
  14090. AWS::S3::S3Object
  14091. should have a key
  14092. should have a bucket
  14093. behaves like an S3 model object
  14094. #initialize
  14095. should not read the client
  14096. #client
  14097. gets the client from the configuration
  14098. #inspect
  14099. should have a short inspect method
  14100. behaves like it has an ACL
  14101. #acl=
  14102. passes along canned acls symbols as strings
  14103. passes along non-xml strings as canned acls
  14104. passes along xml as an AccessControlList as xml
  14105. passes xml strings along as :access_control_policy
  14106. passes along a hash grant
  14107. translates grants
  14108. raises an error if the grant hashes grantees have more than 1 key
  14109. raises an argument error for anything else
  14110. #acl
  14111. should construct a new acl from the response data
  14112. should return the acl in the client response
  14113. should add a #change method
  14114. #change
  14115. should yield the ACL
  14116. should call put_object_acl at the end of the block
  14117. #inspect
  14118. should include the object bucket and key
  14119. #==
  14120. same class
  14121. should return true if the bucket and key match
  14122. should return false if the bucket does not match
  14123. should return false if the ID does not match
  14124. different class
  14125. should return false
  14126. #exists?
  14127. should call head_object
  14128. should return true if the request is successful
  14129. should return false if a NoSuchKey error is raised
  14130. should not intercept other kinds of errors
  14131. #write
  14132. with no arguments
  14133. should call put_object with the bucket, key and empty data
  14134. with a string
  14135. should call put_object with the bucket, key and data
  14136. with a file path
  14137. should call put_object with the bucket, key and data
  14138. should raise an error if there is a data argument
  14139. with a data option
  14140. should call put_object with the bucket, key and data
  14141. should raise an error if data is passed as an option and an argument
  14142. low-level options
  14143. with data
  14144. should pass the content_md5 option
  14145. with no data
  14146. should pass the content_md5 option
  14147. with acl options
  14148. should convert symbolized canned acls to strings
  14149. passes :grant_* options along to the client
  14150. :server_side_encryption
  14151. should not pass the option by default
  14152. should pass the value from configuration if present
  14153. should not pass the option if it is overridden to nil
  14154. should allow overriding the config with a different value
  14155. large data
  14156. should perform a multipart upload
  14157. should not perform a multipart upload with :single_request
  14158. should pass additional options to the multipart_upload call
  14159. should default to the multipart threshold from the config
  14160. string
  14161. should split the upload into parts
  14162. should default to the configured multipart_min_part_size
  14163. stream
  14164. should split the upload into parts
  14165. file
  14166. should split the upload into parts
  14167. return value
  14168. should be the object if no version ID is returned
  14169. should be an object version with the returned version ID
  14170. #multipart_upload
  14171. should initiate a multipart upload
  14172. should pass additional options to the initiate call
  14173. should pass the config
  14174. should abort the upload if no parts are added
  14175. should abort the upload if an error is raised
  14176. does not abort the upload if an exception is raised
  14177. should not abort the upload if initialization failed
  14178. should complete the upload using the completed parts
  14179. should yield a MultipartUpload object
  14180. should pass the upload ID to the upload object
  14181. should pass the S3Object to the upload object
  14182. :server_side_encryption
  14183. should not pass the option by default
  14184. should pass the value from configuration if present
  14185. should not pass the option if it is overridden to nil
  14186. should allow overriding the config with a different value
  14187. return value with a block
  14188. should be the object if no version ID is returned
  14189. should be an object version with the returned version ID
  14190. when no parts were uploaded
  14191. should be nil
  14192. without a block
  14193. should return the upload object
  14194. should not complete or abort the upload
  14195. #multipart_uploads
  14196. should return an upload collection
  14197. #delete
  14198. should call delete_object
  14199. should pass along additional options
  14200. #read
  14201. should call get_object with the bucket name and key
  14202. should call get_object with the bucket name and key
  14203. #metadata
  14204. should return a metadata object
  14205. should pass the object and config to the constructor
  14206. #head
  14207. returns the response from a head_object request
  14208. accepts a version_id
  14209. #etag
  14210. returns #etag from the head response
  14211. #last_modified
  14212. returns #last_modified from the head response
  14213. #content_length
  14214. returns #content_length from the head response
  14215. #content_type
  14216. returns #content_type from the head response
  14217. #server_side_encryption
  14218. returns #server_side_encryption from the head response
  14219. #server_side_encryption?
  14220. should return true if server_side_encryption is not nil
  14221. should return false if server_side_encryption is nil
  14222. #versions
  14223. returns a versioned object collection
  14224. #url_for
  14225. should return an HTTPS URI object
  14226. should return an HTTP URI object if :secure is false
  14227. should construct an S3 http request object
  14228. should set the bucket
  14229. should set the key
  14230. should set the endpoint according to the configuration
  14231. should include the version id when provided
  14232. should add a parameter for the access key
  14233. should add a parameter for the expiration timestamp
  14234. should accept a Time object for :expires
  14235. should accept a DateTime object for :expires
  14236. should accept an integer offset for :expires
  14237. should accept a string date/time for :expires
  14238. should use the request host in the URL
  14239. should use the request path in the URL
  14240. should use the request querystring in the URL
  14241. federated sessions
  14242. adds the security token to the request
  14243. it should behave like presigned url request parameter
  14244. should add :response_content_type as response-content-type
  14245. should make response-content-type part of the string to sign
  14246. it should behave like presigned url request parameter
  14247. should add :response_content_language as response-content-language
  14248. should make response-content-language part of the string to sign
  14249. it should behave like presigned url request parameter
  14250. should add :response_expires as response-expires
  14251. should make response-expires part of the string to sign
  14252. it should behave like presigned url request parameter
  14253. should add :response_cache_control as response-cache-control
  14254. should make response-cache-control part of the string to sign
  14255. it should behave like presigned url request parameter
  14256. should add :response_content_disposition as response-content-disposition
  14257. should make response-content-disposition part of the string to sign
  14258. it should behave like presigned url request parameter
  14259. should add :response_content_encoding as response-content-encoding
  14260. should make response-content-encoding part of the string to sign
  14261. #public_url
  14262. should be an HTTPS URI
  14263. should be an HTTP URI if secure is false
  14264. dns compatible bucket
  14265. should use the subdomain-style host
  14266. dns incompatible bucket
  14267. should use the path-style url
  14268. #presigned_post
  14269. should return a PresignedPost for the object
  14270. should pass additional options
  14271. #reduced_redundancy=
  14272. should return the assigned value
  14273. set to true
  14274. should set :storage_class to "REDUCED_REDUNDANCY"
  14275. set to false
  14276. should set :storage_class to "STANDARD"
  14277. AWS::S3::Tree::BranchNode
  14278. #initialize
  14279. should store the parent
  14280. should store the collection
  14281. should store the delimiter
  14282. should store the append status
  14283. #prefix
  14284. returns the prefix of the collection
  14285. #delimiter
  14286. defaults to /
  14287. #append?
  14288. defaults to true
  14289. #branch?
  14290. returns true
  14291. #leaf?
  14292. returns false
  14293. #children
  14294. should construct a child collection with the correct settings
  14295. #inspect
  14296. should include the full path to the node
  14297. #as_tree
  14298. should construct a Tree with the same prefix and settings
  14299. AWS::S3::Tree::ChildCollection
  14300. behaves like enumerable
  14301. should not read the client
  14302. #initialize
  14303. stores the parent
  14304. stores the collection
  14305. stores the prefix
  14306. stores the delimiter
  14307. stores the append setting
  14308. #delimiter
  14309. defaults to /
  14310. #append?
  14311. defaults to true
  14312. #each
  14313. calls each with the delimiter
  14314. calls each with the prefix if specified
  14315. appends the delimiter to the prefix when missing
  14316. does not append the delimiter when append? is false
  14317. yields
  14318. yields one leaf for each non-iterable object
  14319. yields one branch for each iterable object
  14320. yields each branch with a child collection appropriate for the branch
  14321. passes the parent to each node
  14322. AWS::S3::Tree::LeafNode
  14323. #initialize
  14324. stores the parent
  14325. stores the member object
  14326. #key
  14327. returns the key from the member object
  14328. #object
  14329. when the member is an S3Object
  14330. returns the member
  14331. when the member is something that responds to :object
  14332. calls the object method of the member
  14333. #version
  14334. when the member is an ObjectVersion
  14335. returns the member
  14336. when the member is something else
  14337. should raise an error
  14338. #upload
  14339. when the member is a MultipartUpload
  14340. returns the member
  14341. when the member is something else
  14342. should raise an error
  14343. #branch?
  14344. returns false
  14345. #leaf?
  14346. returns true
  14347. #inspect
  14348. should include the full path to the node
  14349. AWS::S3::Tree
  14350. #initialize
  14351. requires a collection
  14352. stores the collection
  14353. stores the prefix
  14354. stores the delimiter
  14355. stores the append setting
  14356. #delimiter
  14357. defaults to /
  14358. #append?
  14359. defaults to true
  14360. #parent
  14361. should return nil
  14362. #children
  14363. should construct a child collection with the correct settings
  14364. #inspect
  14365. should include the full path to the node
  14366. AWS::S3::MultipartUploadCollection
  14367. behaves like an S3 model object
  14368. #initialize
  14369. should not read the client
  14370. #client
  14371. gets the client from the configuration
  14372. #inspect
  14373. should have a short inspect method
  14374. behaves like enumerable
  14375. should not read the client
  14376. behaves like an S3 paginated collection
  14377. #each
  14378. should call the list method
  14379. should pass a default batch size
  14380. should request the next page for a truncated response
  14381. limits
  14382. should limit by the batch size if it is smaller than the limit
  14383. should limit by the provided limit if it is smaller than the batch size
  14384. #initialize
  14385. should store the upload
  14386. #each
  14387. should pass the required parameters to list_parts
  14388. should yield an uploaded part object for each result
  14389. should pass the upload
  14390. #[]
  14391. should return a part with the correct upload and number
  14392. AWS::S3::UploadedPart
  14393. behaves like an S3 model object
  14394. #initialize
  14395. should not read the client
  14396. #client
  14397. gets the client from the configuration
  14398. #inspect
  14399. should have a short inspect method
  14400. #initialize
  14401. should store the upload
  14402. should store the part number
  14403. #==
  14404. same class
  14405. should return true if the upload and part number match
  14406. should return false if the upload does not match
  14407. should return false if the part number does not match
  14408. different class
  14409. should return false
  14410. #size
  14411. it should behave like s3 uploaded part attribute accessor
  14412. should call list_parts
  14413. should use the first returned part if the number matches
  14414. should raise an error if the part number does not match
  14415. should raise an error if no parts are returned
  14416. #last_modified
  14417. it should behave like s3 uploaded part attribute accessor
  14418. should call list_parts
  14419. should use the first returned part if the number matches
  14420. should raise an error if the part number does not match
  14421. should raise an error if no parts are returned
  14422. #etag
  14423. it should behave like s3 uploaded part attribute accessor
  14424. should call list_parts
  14425. should use the first returned part if the number matches
  14426. should raise an error if the part number does not match
  14427. should raise an error if no parts are returned
  14428. AWS::S3
  14429. behaves like a class that accepts configuration
  14430. accepts and returns a :config option
  14431. constructor passes options to Configuration#with
  14432. returns the merged config
  14433. #buckets
  14434. should return a BucketCollection
  14435. should pass the config
  14436. #inspect
  14437. returns a simple string
  14438. AWS::SimpleDB::AttributeCollection
  14439. behaves like a sdb model object
  14440. #initialize
  14441. should not read the client
  14442. #client
  14443. gets the client from the configuration
  14444. behaves like enumerable
  14445. should not read the client
  14446. #initialize
  14447. requires an item
  14448. accepts an item
  14449. #item
  14450. returns the item passed to #initialize
  14451. #to_h
  14452. hasherishes each of the values
  14453. behaves like accepts :consistent_read option
  14454. calls the client method with the passed true
  14455. calls the client method with the passed false
  14456. defaults to true when AWS.config.simple_db_consistent_reads? is true
  14457. defaults to false when AWS.config.simple_db_consistent_reads? is false
  14458. consistent_read block overrides configured default
  14459. #[]
  14460. returns an attribute
  14461. returns an attribute with the correct item
  14462. returns an attribute with the correct name
  14463. returns an attribute with the correct config
  14464. stringifies the name
  14465. #[]=
  14466. calls set on the attribute named
  14467. #each_value
  14468. calls get_attributes
  14469. yields once for each attribute value
  14470. #each
  14471. calls get_attributes
  14472. yields attribute objects
  14473. behaves like accepts :consistent_read option
  14474. calls the client method with the passed true
  14475. calls the client method with the passed false
  14476. defaults to true when AWS.config.simple_db_consistent_reads? is true
  14477. defaults to false when AWS.config.simple_db_consistent_reads? is false
  14478. consistent_read block overrides configured default
  14479. #put
  14480. calls put_attributes
  14481. empty hash
  14482. does nothing
  14483. it should behave like sdb expect conditions
  14484. :if
  14485. accepts a hash with a string key
  14486. accepts a hash with a symbol key
  14487. :unless
  14488. accepts an attribute name as a string
  14489. accepts a symbol attribute name
  14490. #set
  14491. is an alias for replace
  14492. #replace
  14493. calls put_attributes
  14494. handles string values with newlines
  14495. empty hash
  14496. does nothing
  14497. it should behave like sdb expect conditions
  14498. :if
  14499. accepts a hash with a string key
  14500. accepts a hash with a symbol key
  14501. :unless
  14502. accepts an attribute name as a string
  14503. accepts a symbol attribute name
  14504. #add
  14505. calls put_attributes
  14506. empty hash
  14507. does nothing
  14508. it should behave like sdb expect conditions
  14509. :if
  14510. accepts a hash with a string key
  14511. accepts a hash with a symbol key
  14512. :unless
  14513. accepts an attribute name as a string
  14514. accepts a symbol attribute name
  14515. #delete
  14516. returns nil
  14517. no arguments
  14518. does nothing
  14519. attribute names
  14520. calls delete_attributes
  14521. accepts symbol attribute names
  14522. accepts a list of names
  14523. accepts an array of names
  14524. it should behave like sdb expect conditions
  14525. :if
  14526. accepts a hash with a string key
  14527. accepts a hash with a symbol key
  14528. :unless
  14529. accepts an attribute name as a string
  14530. accepts a symbol attribute name
  14531. attribute values
  14532. calls delete_attributes
  14533. accepts symbol keys
  14534. accepts multiple values
  14535. ignores empty lists of values
  14536. accepts the special value :all
  14537. it should behave like sdb expect conditions
  14538. :if
  14539. accepts a hash with a string key
  14540. accepts a hash with a symbol key
  14541. :unless
  14542. accepts an attribute name as a string
  14543. accepts a symbol attribute name
  14544. AWS::SimpleDB::Attribute
  14545. behaves like a sdb model object
  14546. #initialize
  14547. should not read the client
  14548. #client
  14549. gets the client from the configuration
  14550. behaves like enumerable
  14551. should not read the client
  14552. #initialize
  14553. requires a item and name
  14554. accepts a item and name
  14555. #item
  14556. returns the item passed to #initialize
  14557. #name
  14558. returns the proper name
  14559. #values
  14560. returns all attribute values as an array
  14561. behaves like accepts :consistent_read option
  14562. calls the client method with the passed true
  14563. calls the client method with the passed false
  14564. defaults to true when AWS.config.simple_db_consistent_reads? is true
  14565. defaults to false when AWS.config.simple_db_consistent_reads? is false
  14566. consistent_read block overrides configured default
  14567. #each
  14568. calls get_attributes
  14569. yields the response values
  14570. behaves like accepts :consistent_read option
  14571. calls the client method with the passed true
  14572. calls the client method with the passed false
  14573. defaults to true when AWS.config.simple_db_consistent_reads? is true
  14574. defaults to false when AWS.config.simple_db_consistent_reads? is false
  14575. consistent_read block overrides configured default
  14576. #add
  14577. should call put_attributes
  14578. should accept multiple values as a list
  14579. should accept multiple values as an array
  14580. should have an alias of <<
  14581. it should behave like sdb expect conditions
  14582. :if
  14583. accepts a hash with a string key
  14584. accepts a hash with a symbol key
  14585. :unless
  14586. accepts an attribute name as a string
  14587. accepts a symbol attribute name
  14588. #set
  14589. should call put_attributes
  14590. should accept multiple values as a list
  14591. should accept multiple values as an array
  14592. it should behave like sdb expect conditions
  14593. :if
  14594. accepts a hash with a string key
  14595. accepts a hash with a symbol key
  14596. :unless
  14597. accepts an attribute name as a string
  14598. accepts a symbol attribute name
  14599. #delete
  14600. with no positional arguments
  14601. should delete all values of the attribute
  14602. it should behave like sdb expect conditions
  14603. :if
  14604. accepts a hash with a string key
  14605. accepts a hash with a symbol key
  14606. :unless
  14607. accepts an attribute name as a string
  14608. accepts a symbol attribute name
  14609. with positional arguments
  14610. should delete specific values of the attribute
  14611. should accept an array
  14612. it should behave like sdb expect conditions
  14613. :if
  14614. accepts a hash with a string key
  14615. accepts a hash with a symbol key
  14616. :unless
  14617. accepts an attribute name as a string
  14618. accepts a symbol attribute name
  14619. AWS::SimpleDB::Client
  14620. should be accessible from the configuration
  14621. it should behave like an aws client
  14622. #initialize
  14623. accepts a config
  14624. #with_options
  14625. should return a new client
  14626. should modify the config on the new client
  14627. should not modify the config on the old client
  14628. #with_http_handler
  14629. should yield request and response objects when a request is made
  14630. should be able to call super to access previous definition
  14631. should set the http_response member to the same instance that was passed to the block
  14632. should set the http_request member to the same instance that was passed to the block
  14633. should pass along exceptions raised from the block
  14634. ::valid_domain_name?
  14635. returns true for good names
  14636. returns false for names shorter than 3 chars
  14637. returns false for names longer than 255 chars
  14638. #create_domain
  14639. it should behave like an aws http request
  14640. with the proper http verb
  14641. should set use_ssl to the current config use_ssl? value
  14642. should set ssl_verify_peer to the current config ssl_verify_peer? value
  14643. should set ssl_ca_file to the current config ssl_ca_file value
  14644. populates the response with the request options
  14645. raises client errors for errors that can not be retried
  14646. raises client errors for 4xx response codes with a nil response body
  14647. does not retry client errors
  14648. retry requests that respond with 500
  14649. retry requests that respond with 503
  14650. retry throttled requests that respond with 400
  14651. retry timeout errors
  14652. should retry at most 3 times
  14653. should build a new request for each retry
  14654. should retry more times if configured
  14655. should re-raise the server error after retries fail
  14656. should re-raise the timeout error after retries fail
  14657. should sleep between retries
  14658. it backs off exponentially
  14659. it uses a randomized scaling factor for throttled requests
  14660. it should behave like supports async option
  14661. asynchronous
  14662. should call handle_async on the handler
  14663. should return a kind of async handle
  14664. should call the success callback on handler success
  14665. should call the failure callback on handler failure
  14666. should make an error available on handler failure
  14667. should call the failure callback on service failure
  14668. should retry service errors
  14669. should retry timeouts
  14670. should build a new request for each retry
  14671. user_agent
  14672. should set the user_agent header
  14673. should prefix the user agent when configured
  14674. memoization status
  14675. should not include "memoizing" if memoization is disabled
  14676. should include "memoizing" if memoization is enabled
  14677. endpoint
  14678. should default the endpoint given in the client config
  14679. user agent
  14680. should send a user-agent header
  14681. stubbing
  14682. should not call handle
  14683. logging
  14684. should log the client request
  14685. should log server errors
  14686. signing
  14687. should call add_authorization! on the request
  14688. should call add_authorization! with the credential provider
  14689. caching enabled
  14690. should add the low-level response object to the cache
  14691. should not cache on failure
  14692. asynchronous
  14693. should add the response on success
  14694. should not cache on failure
  14695. it should behave like a simple db request
  14696. should have the correct action param
  14697. should have version param
  14698. should have a timestamp param
  14699. should be a post request
  14700. should have a form url encoded content type
  14701. should return an object that response to response_metadata
  14702. exceptions
  14703. should raise modeled exceptions for unsuccessful requests
  14704. it should behave like requires a domain name
  14705. requires a domain name
  14706. should have the domain name as a param
  14707. #list_domains
  14708. should accept a limit and pass it as a request param
  14709. should accept a next_token and pass it as a request param
  14710. it should behave like an aws http request
  14711. with the proper http verb
  14712. should set use_ssl to the current config use_ssl? value
  14713. should set ssl_verify_peer to the current config ssl_verify_peer? value
  14714. should set ssl_ca_file to the current config ssl_ca_file value
  14715. populates the response with the request options
  14716. raises client errors for errors that can not be retried
  14717. raises client errors for 4xx response codes with a nil response body
  14718. does not retry client errors
  14719. retry requests that respond with 500
  14720. retry requests that respond with 503
  14721. retry throttled requests that respond with 400
  14722. retry timeout errors
  14723. should retry at most 3 times
  14724. should build a new request for each retry
  14725. should retry more times if configured
  14726. should re-raise the server error after retries fail
  14727. should re-raise the timeout error after retries fail
  14728. should sleep between retries
  14729. it backs off exponentially
  14730. it uses a randomized scaling factor for throttled requests
  14731. it should behave like supports async option
  14732. asynchronous
  14733. should call handle_async on the handler
  14734. should return a kind of async handle
  14735. should call the success callback on handler success
  14736. should call the failure callback on handler failure
  14737. should make an error available on handler failure
  14738. should call the failure callback on service failure
  14739. should retry service errors
  14740. should retry timeouts
  14741. should build a new request for each retry
  14742. user_agent
  14743. should set the user_agent header
  14744. should prefix the user agent when configured
  14745. memoization status
  14746. should not include "memoizing" if memoization is disabled
  14747. should include "memoizing" if memoization is enabled
  14748. endpoint
  14749. should default the endpoint given in the client config
  14750. user agent
  14751. should send a user-agent header
  14752. stubbing
  14753. should not call handle
  14754. logging
  14755. should log the client request
  14756. should log server errors
  14757. signing
  14758. should call add_authorization! on the request
  14759. should call add_authorization! with the credential provider
  14760. caching enabled
  14761. should add the low-level response object to the cache
  14762. should not cache on failure
  14763. asynchronous
  14764. should add the response on success
  14765. should not cache on failure
  14766. it should behave like a simple db request
  14767. should have the correct action param
  14768. should have version param
  14769. should have a timestamp param
  14770. should be a post request
  14771. should have a form url encoded content type
  14772. should return an object that response to response_metadata
  14773. exceptions
  14774. should raise modeled exceptions for unsuccessful requests
  14775. response#domain_names
  14776. should be an array of domain name strings
  14777. #delete_domain
  14778. it should behave like an aws http request
  14779. with the proper http verb
  14780. should set use_ssl to the current config use_ssl? value
  14781. should set ssl_verify_peer to the current config ssl_verify_peer? value
  14782. should set ssl_ca_file to the current config ssl_ca_file value
  14783. populates the response with the request options
  14784. raises client errors for errors that can not be retried
  14785. raises client errors for 4xx response codes with a nil response body
  14786. does not retry client errors
  14787. retry requests that respond with 500
  14788. retry requests that respond with 503
  14789. retry throttled requests that respond with 400
  14790. retry timeout errors
  14791. should retry at most 3 times
  14792. should build a new request for each retry
  14793. should retry more times if configured
  14794. should re-raise the server error after retries fail
  14795. should re-raise the timeout error after retries fail
  14796. should sleep between retries
  14797. it backs off exponentially
  14798. it uses a randomized scaling factor for throttled requests
  14799. it should behave like supports async option
  14800. asynchronous
  14801. should call handle_async on the handler
  14802. should return a kind of async handle
  14803. should call the success callback on handler success
  14804. should call the failure callback on handler failure
  14805. should make an error available on handler failure
  14806. should call the failure callback on service failure
  14807. should retry service errors
  14808. should retry timeouts
  14809. should build a new request for each retry
  14810. user_agent
  14811. should set the user_agent header
  14812. should prefix the user agent when configured
  14813. memoization status
  14814. should not include "memoizing" if memoization is disabled
  14815. should include "memoizing" if memoization is enabled
  14816. endpoint
  14817. should default the endpoint given in the client config
  14818. user agent
  14819. should send a user-agent header
  14820. stubbing
  14821. should not call handle
  14822. logging
  14823. should log the client request
  14824. should log server errors
  14825. signing
  14826. should call add_authorization! on the request
  14827. should call add_authorization! with the credential provider
  14828. caching enabled
  14829. should add the low-level response object to the cache
  14830. should not cache on failure
  14831. asynchronous
  14832. should add the response on success
  14833. should not cache on failure
  14834. it should behave like a simple db request
  14835. should have the correct action param
  14836. should have version param
  14837. should have a timestamp param
  14838. should be a post request
  14839. should have a form url encoded content type
  14840. should return an object that response to response_metadata
  14841. exceptions
  14842. should raise modeled exceptions for unsuccessful requests
  14843. it should behave like requires a domain name
  14844. requires a domain name
  14845. should have the domain name as a param
  14846. #domain_metadata
  14847. should expose ItemCount as an integer
  14848. should expose ItemNamesSizeBytes as an integer
  14849. should expose AttributeNameCount as an integer
  14850. should expose AttributeNamesSizeBytes as an integer
  14851. should expose AttributeValueCount as an integer
  14852. should expose AttributeValuesSizeBytes as an integer
  14853. should expose Timestamp as an integer
  14854. it should behave like an aws http request
  14855. with the proper http verb
  14856. should set use_ssl to the current config use_ssl? value
  14857. should set ssl_verify_peer to the current config ssl_verify_peer? value
  14858. should set ssl_ca_file to the current config ssl_ca_file value
  14859. populates the response with the request options
  14860. raises client errors for errors that can not be retried
  14861. raises client errors for 4xx response codes with a nil response body
  14862. does not retry client errors
  14863. retry requests that respond with 500
  14864. retry requests that respond with 503
  14865. retry throttled requests that respond with 400
  14866. retry timeout errors
  14867. should retry at most 3 times
  14868. should build a new request for each retry
  14869. should retry more times if configured
  14870. should re-raise the server error after retries fail
  14871. should re-raise the timeout error after retries fail
  14872. should sleep between retries
  14873. it backs off exponentially
  14874. it uses a randomized scaling factor for throttled requests
  14875. it should behave like supports async option
  14876. asynchronous
  14877. should call handle_async on the handler
  14878. should return a kind of async handle
  14879. should call the success callback on handler success
  14880. should call the failure callback on handler failure
  14881. should make an error available on handler failure
  14882. should call the failure callback on service failure
  14883. should retry service errors
  14884. should retry timeouts
  14885. should build a new request for each retry
  14886. user_agent
  14887. should set the user_agent header
  14888. should prefix the user agent when configured
  14889. memoization status
  14890. should not include "memoizing" if memoization is disabled
  14891. should include "memoizing" if memoization is enabled
  14892. endpoint
  14893. should default the endpoint given in the client config
  14894. user agent
  14895. should send a user-agent header
  14896. stubbing
  14897. should not call handle
  14898. logging
  14899. should log the client request
  14900. should log server errors
  14901. signing
  14902. should call add_authorization! on the request
  14903. should call add_authorization! with the credential provider
  14904. caching enabled
  14905. should add the low-level response object to the cache
  14906. should not cache on failure
  14907. asynchronous
  14908. should add the response on success
  14909. should not cache on failure
  14910. it should behave like a simple db request
  14911. should have the correct action param
  14912. should have version param
  14913. should have a timestamp param
  14914. should be a post request
  14915. should have a form url encoded content type
  14916. should return an object that response to response_metadata
  14917. exceptions
  14918. should raise modeled exceptions for unsuccessful requests
  14919. it should behave like requires a domain name
  14920. requires a domain name
  14921. should have the domain name as a param
  14922. AWS::SimpleDB::DomainCollection
  14923. behaves like enumerable
  14924. should not read the client
  14925. #create
  14926. calls create_domain with the proper domain name
  14927. returns a domain object
  14928. returns an object with the proper name
  14929. returns an object with the proper config
  14930. #[]
  14931. with a string
  14932. returns a domain
  14933. returns a domain with the correct name
  14934. returns a domain with the correct name (from symbol)
  14935. #each
  14936. returns nil
  14937. yields up domain objects
  14938. limits results by limit if smaller than batch size
  14939. limits results by batch size
  14940. makes requests until :limit items returned in batches
  14941. AWS::SimpleDB::DomainMetadata
  14942. behaves like a sdb model object
  14943. #initialize
  14944. should not read the client
  14945. #client
  14946. gets the client from the configuration
  14947. metadata
  14948. #item_count
  14949. should get the value from the domain metadata response
  14950. #item_names_size_bytes
  14951. should get the value from the domain metadata response
  14952. #attribute_name_count
  14953. should get the value from the domain metadata response
  14954. #attribute_names_size_bytes
  14955. should get the value from the domain metadata response
  14956. #attribute_value_count
  14957. should get the value from the domain metadata response
  14958. #attribute_values_size_bytes
  14959. should get the value from the domain metadata response
  14960. #timestamp
  14961. should get the value from the domain metadata response
  14962. AWS::SimpleDB::Domain
  14963. behaves like a sdb model object
  14964. #initialize
  14965. should not read the client
  14966. #client
  14967. gets the client from the configuration
  14968. #initialize
  14969. accepts a name
  14970. accepts a config
  14971. #inspect
  14972. should have a short inspect string with the name
  14973. #empty
  14974. returns true if there are no items in the domain
  14975. returns false if there are more than 1 items in the domain
  14976. #delete
  14977. returns nil
  14978. should call delete_domain with the proper name
  14979. should check to see if the domain is empty first
  14980. should raise an error if the domain is not empty
  14981. #delete!
  14982. should call delete_domain with the proper name
  14983. should not check to see if the domain is empty
  14984. should not raise an error
  14985. #exists?
  14986. should call domain_metadata to check
  14987. should return true if no response is raised by domain_metadata
  14988. should return false if domain_metadata raises a client error
  14989. should not trap standard errors
  14990. #metadata
  14991. should return a metadata object
  14992. should return a metadata object with the correct domain
  14993. should return a metadata object with the correct config
  14994. #items
  14995. should return an item collection
  14996. should have the correct domain
  14997. should have the correct config
  14998. AWS::SimpleDB::Errors::DuplicateItemName
  14999. it should behave like modeled sdb exception
  15000. should be a kind of AWS::Errors::ClientError
  15001. should expose box_usage as a float (PENDING: No reason given)
  15002. AWS::SimpleDB::ItemCollection
  15003. behaves like a sdb model object
  15004. #initialize
  15005. should not read the client
  15006. #client
  15007. gets the client from the configuration
  15008. behaves like enumerable
  15009. should not read the client
  15010. #initialize
  15011. requires a domain
  15012. accepts a domain
  15013. #domain
  15014. returns the domain passed to #initialize
  15015. #create
  15016. returns a new item
  15017. returns an item with the correct domain
  15018. returns an item with the correct config
  15019. replaces attributes on the item
  15020. #[]
  15021. returns an item
  15022. returns an item with the correct domain
  15023. returns an item with the correct name
  15024. returns an item with the correct config
  15025. strinifies symbols
  15026. #each
  15027. calls select to get all item names from the domain
  15028. yields an item for each item name returned
  15029. calls select until the response does not return a next_token
  15030. it should behave like method accepting query options
  15031. it should behave like each_batch accepts query option
  15032. should call #select with the option value
  15033. should call #select with multiple arguments if the value is an array
  15034. should call #each_batch on the restricted item collection
  15035. it should behave like each_batch accepts query option
  15036. should call #where with the option value
  15037. should call #where with multiple arguments if the value is an array
  15038. should call #each_batch on the restricted item collection
  15039. it should behave like each_batch accepts query option
  15040. should call #order with the option value
  15041. should call #order with multiple arguments if the value is an array
  15042. should call #each_batch on the restricted item collection
  15043. it should behave like each_batch accepts query option
  15044. should call #limit with the option value
  15045. should call #limit with multiple arguments if the value is an array
  15046. should call #each_batch on the restricted item collection
  15047. with options
  15048. accepts :next_token
  15049. behaves like accepts :consistent_read option
  15050. calls the client method with the passed true
  15051. calls the client method with the passed false
  15052. defaults to true when AWS.config.simple_db_consistent_reads? is true
  15053. defaults to false when AWS.config.simple_db_consistent_reads? is false
  15054. consistent_read block overrides configured default
  15055. #select
  15056. accepts attributes as a list
  15057. accepts attributes in an array
  15058. accpets listed attributes with options hash
  15059. accpets array attributes with options hash
  15060. works with a single attribute symbol
  15061. escapes backticks in attribute names
  15062. selects all attributes by default
  15063. converts non-string arguments to strings
  15064. can accept only options
  15065. it should behave like method accepting query options
  15066. it should behave like select accepts query option
  15067. should call #where with the option value
  15068. should call #where with multiple arguments if the value is an array
  15069. should call #select on the restricted item collection
  15070. it should behave like select accepts query option
  15071. should call #order with the option value
  15072. should call #order with multiple arguments if the value is an array
  15073. should call #select on the restricted item collection
  15074. it should behave like select accepts query option
  15075. should call #limit with the option value
  15076. should call #limit with multiple arguments if the value is an array
  15077. should call #select on the restricted item collection
  15078. result
  15079. yields an ItemData for each item in the response
  15080. stores the name for each item
  15081. stores the attributes for each item
  15082. stores the domain for each item
  15083. without a block
  15084. returns an enumerable for the item data
  15085. returns an enumerable when conditions are passed
  15086. #count
  15087. uses count(*) for the output list
  15088. should return the Count attribute value
  15089. should add counts from each page of results
  15090. it should behave like method accepting query options
  15091. it should behave like count accepts query option
  15092. should call #select with the option value
  15093. should call #select with multiple arguments if the value is an array
  15094. should call #count on the restricted item collection
  15095. it should behave like count accepts query option
  15096. should call #where with the option value
  15097. should call #where with multiple arguments if the value is an array
  15098. should call #count on the restricted item collection
  15099. it should behave like count accepts query option
  15100. should call #order with the option value
  15101. should call #order with multiple arguments if the value is an array
  15102. should call #count on the restricted item collection
  15103. it should behave like count accepts query option
  15104. should call #limit with the option value
  15105. should call #limit with multiple arguments if the value is an array
  15106. should call #count on the restricted item collection
  15107. behaves like accepts :consistent_read option
  15108. calls the client method with the passed true
  15109. calls the client method with the passed false
  15110. defaults to true when AWS.config.simple_db_consistent_reads? is true
  15111. defaults to false when AWS.config.simple_db_consistent_reads? is false
  15112. consistent_read block overrides configured default
  15113. expression with limit
  15114. should stop at the limit
  15115. should keep paging until the limit
  15116. #page
  15117. the collection
  15118. applies :where, :order and :limit to the page request
  15119. #per_page
  15120. returns a page result object
  15121. defaults per_page to 10
  15122. accepts a numeric :per_page option
  15123. accepts a string :per_page option
  15124. #where
  15125. should set the conditions in the returned collection
  15126. should append a WHERE clause when performing the Select
  15127. should join multiple conditions with AND
  15128. it should behave like collection mutator
  15129. should return an item collection
  15130. should pass along the config to the returned collection
  15131. should pass along the sort_instructions to the returned collection
  15132. hash conditions
  15133. should translate a hash to equality conditions
  15134. should escape single quotes
  15135. should use IN with an array value
  15136. should use BETWEEN with a range value
  15137. should use >= and < with an exclusive range value
  15138. placeholders
  15139. should escape backticks in an attribute name
  15140. should perform simple placeholder substitution
  15141. should ignore question marks inside of attribute names
  15142. should ignore question marks inside of attribute values (single quotes)
  15143. should ignore question marks inside of attribute values (double quotes)
  15144. should put parentheses around an array value
  15145. should flatten an array value
  15146. should call to_s on the value
  15147. should raise an error when there are too many placeholders
  15148. should raise an error when there are too many values
  15149. should substitute named placeholders
  15150. should substitute named placeholders using string keys
  15151. should raise an error if the hash has no entry for a placeholder
  15152. #order
  15153. should set the sort instructions on the returned collection
  15154. should overwrite the previous sort instructions
  15155. should accept a symbol attribute name
  15156. should accept a sort direction
  15157. should append an ORDER clause and IS NOT NULL condition to the query
  15158. should only add one condition due to an #order call
  15159. it should behave like collection mutator
  15160. should return an item collection
  15161. should pass along the config to the returned collection
  15162. direction aliases
  15163. should allow desc
  15164. should allow asc
  15165. should allow descending
  15166. should allow ascending
  15167. #limit
  15168. should set the limit on the returned collection
  15169. should stringify the limit value
  15170. should reject empty strings
  15171. should add a LIMIT clause to the query
  15172. should make one call if the right number of results is returned
  15173. should use the next token until all results are returned
  15174. it should behave like collection mutator
  15175. should return an item collection
  15176. should pass along the config to the returned collection
  15177. should pass along the conditions to the returned collection
  15178. should pass along the sort_instructions to the returned collection
  15179. AWS::SimpleDB::ItemData
  15180. #initialize
  15181. requires no constructor arguments
  15182. should store the name
  15183. should store the attributes
  15184. should store the domain
  15185. should be able to get the item from the domain
  15186. should extract the name from an object
  15187. should prefer the :name option to the name from a response object
  15188. should extract the attributes from an object
  15189. should prefer the :attributes option to attributes from an object
  15190. AWS::SimpleDB::Item
  15191. behaves like a sdb model object
  15192. #initialize
  15193. should not read the client
  15194. #client
  15195. gets the client from the configuration
  15196. #initialize
  15197. requires a domain and name
  15198. accepts a domain and name
  15199. #domain
  15200. returns the domain passed to #initialize
  15201. #name
  15202. returns the proper name
  15203. #attributes
  15204. returns an attributes collection
  15205. #delete
  15206. calls delete_attributes
  15207. #data
  15208. calls get_attributes
  15209. passes through :consistent_read
  15210. obeys consistent read blocks
  15211. uses the configured consistent read when not in options
  15212. returns an ItemData
  15213. sets the name
  15214. sets the attributes
  15215. sets the domain
  15216. AWS::SimpleDB::Request
  15217. it should behave like an authorize v2 request
  15218. #string_to_sign
  15219. first line should match the request http method
  15220. second line should match the host
  15221. third line should match the path
  15222. 4th line should be sorted encoded key/value pairs
  15223. #add_authorization!
  15224. adds a signature version param
  15225. adds a signature method param
  15226. adds a signature param
  15227. adds the access key id param
  15228. AWS::SimpleDB
  15229. behaves like a class that accepts configuration
  15230. accepts and returns a :config option
  15231. constructor passes options to Configuration#with
  15232. returns the merged config
  15233. #domains
  15234. returns a domain collection
  15235. has the same config
  15236. #inspect
  15237. returns a simple string
  15238. class methods
  15239. consistent reads block
  15240. #in_consistent_reads_block? returns false outside cr blocks
  15241. #in_consistent_reads_block? returns true inside cr blocks
  15242. a consistent read block defaults to true
  15243. a consistent read block accepts a true value
  15244. a consistent read block accepts a false value
  15245. can be nested
  15246. AWS::SimpleEmailService::Client
  15247. error parsing
  15248. should raise the correct error class
  15249. AWS::SimpleEmailService::EmailAddressCollection
  15250. behaves like enumerable
  15251. should not read the client
  15252. #create
  15253. calls verify_email_address on the client
  15254. #verify
  15255. is an alias for #include?
  15256. #verified?
  15257. is an alias for #include?
  15258. #delete
  15259. calls delete_verified_email_address on the client
  15260. #each
  15261. calls list_verified_email_addresses on the client
  15262. yields once for each address
  15263. returns nil
  15264. AWS::SimpleEmailService::IdentityCollection
  15265. #verify
  15266. email addresses
  15267. calls #verify_email_identity on the client
  15268. returns an identity
  15269. domains
  15270. calls #verify_email_identity on the client
  15271. returns an identity
  15272. #create
  15273. is an alias of verify
  15274. #[]
  15275. returns an identity
  15276. returns an identity with the correct configuration
  15277. behaves like a pageable collection with limits
  15278. behaves like a collection with #enum
  15279. should be enumerable
  15280. responds to enumerator
  15281. returns an enumerator
  15282. returns an enumerator for the each method
  15283. passes arguments to the each method
  15284. #each
  15285. with :limit
  15286. passes :limit as limit_key
  15287. makes requests until the total number of items received == limit
  15288. stops short of the limit if a truncated response is returned
  15289. with :batch_size param
  15290. convert batch size into a limit
  15291. requests :batch_size num elements until response is truncated
  15292. with :limit and :batch_size
  15293. makes requests while response is truncated
  15294. #email_addresses
  15295. behaves like a pageable collection with limits
  15296. behaves like a collection with #enum
  15297. should be enumerable
  15298. responds to enumerator
  15299. returns an enumerator
  15300. returns an enumerator for the each method
  15301. passes arguments to the each method
  15302. #each
  15303. with :limit
  15304. passes :limit as limit_key
  15305. makes requests until the total number of items received == limit
  15306. stops short of the limit if a truncated response is returned
  15307. with :batch_size param
  15308. convert batch size into a limit
  15309. requests :batch_size num elements until response is truncated
  15310. with :limit and :batch_size
  15311. makes requests while response is truncated
  15312. #domains
  15313. behaves like a pageable collection with limits
  15314. behaves like a collection with #enum
  15315. should be enumerable
  15316. responds to enumerator
  15317. returns an enumerator
  15318. returns an enumerator for the each method
  15319. passes arguments to the each method
  15320. #each
  15321. with :limit
  15322. passes :limit as limit_key
  15323. makes requests until the total number of items received == limit
  15324. stops short of the limit if a truncated response is returned
  15325. with :batch_size param
  15326. convert batch size into a limit
  15327. requests :batch_size num elements until response is truncated
  15328. with :limit and :batch_size
  15329. makes requests while response is truncated
  15330. AWS::SimpleEmailService::Identity
  15331. email addresses
  15332. returns true from #email_address?
  15333. returns false from #domain?
  15334. it should behave like an ses identity
  15335. notification attributes
  15336. #bounce_topic_arn
  15337. calls #get_identity_notification_attributes on the client
  15338. returns the bounce notification topic arn
  15339. returns nil when not present
  15340. is mutable
  15341. accepts nil
  15342. #complaint_topic_arn
  15343. calls #get_identity_notification_attributes on the client
  15344. returns the complaint notification topic arn
  15345. returns nil when not present
  15346. is mutable
  15347. accepts nil
  15348. #forwarding_enabled
  15349. calls #get_identity_notification_attributes on the client
  15350. returns the state
  15351. is aliased with a question mark
  15352. is mutable
  15353. can be set to false
  15354. #bounce_topic
  15355. wraps the arn in a sns topic
  15356. returns nil when there is not arn
  15357. #bounce_topic=
  15358. accpets a topic object
  15359. accepts a topic arn
  15360. accepts nil
  15361. #complaint_topic
  15362. wraps the arn in a sns topic
  15363. returns nil when there is not arn
  15364. #complaint_topic=
  15365. accpets a topic object
  15366. accepts a topic arn
  15367. accepts nil
  15368. verification attributes
  15369. #verification_status
  15370. calls :get_identity_verificiation_attributes on the client
  15371. returns the status
  15372. #verification_token
  15373. calls :get_identity_verificiation_attributes on the client
  15374. returns the token
  15375. returns nil when not provided
  15376. is static
  15377. #verified?
  15378. returns true when the verification status is "Success"
  15379. returns false when the verification status is not "Success"
  15380. #pending?
  15381. returns true when the verification status is "Pending"
  15382. returns false when the verification status is not "Pending"
  15383. #delete
  15384. calls #delete_identity on the client
  15385. domains
  15386. returns false from #email_address?
  15387. returns true from #domain?
  15388. it should behave like an ses identity
  15389. notification attributes
  15390. #bounce_topic_arn
  15391. calls #get_identity_notification_attributes on the client
  15392. returns the bounce notification topic arn
  15393. returns nil when not present
  15394. is mutable
  15395. accepts nil
  15396. #complaint_topic_arn
  15397. calls #get_identity_notification_attributes on the client
  15398. returns the complaint notification topic arn
  15399. returns nil when not present
  15400. is mutable
  15401. accepts nil
  15402. #forwarding_enabled
  15403. calls #get_identity_notification_attributes on the client
  15404. returns the state
  15405. is aliased with a question mark
  15406. is mutable
  15407. can be set to false
  15408. #bounce_topic
  15409. wraps the arn in a sns topic
  15410. returns nil when there is not arn
  15411. #bounce_topic=
  15412. accpets a topic object
  15413. accepts a topic arn
  15414. accepts nil
  15415. #complaint_topic
  15416. wraps the arn in a sns topic
  15417. returns nil when there is not arn
  15418. #complaint_topic=
  15419. accpets a topic object
  15420. accepts a topic arn
  15421. accepts nil
  15422. verification attributes
  15423. #verification_status
  15424. calls :get_identity_verificiation_attributes on the client
  15425. returns the status
  15426. #verification_token
  15427. calls :get_identity_verificiation_attributes on the client
  15428. returns the token
  15429. returns nil when not provided
  15430. is static
  15431. #verified?
  15432. returns true when the verification status is "Success"
  15433. returns false when the verification status is not "Success"
  15434. #pending?
  15435. returns true when the verification status is "Pending"
  15436. returns false when the verification status is not "Pending"
  15437. #delete
  15438. calls #delete_identity on the client
  15439. AWS::SimpleEmailService::Quotas
  15440. #to_h
  15441. calls get_send_quota
  15442. returns a hash with 3 stats
  15443. #max_24_hour_send
  15444. returns a value from #to_h
  15445. #max_send_rate
  15446. returns a value from #to_h
  15447. #sent_last_24_hours
  15448. returns a value from #to_h
  15449. #inspect
  15450. returns a string with the details
  15451. AWS::SimpleEmailService::Request
  15452. it should behave like an authorize v4 request
  15453. #add_authorization!
  15454. sets the content type form-urlencoded by default
  15455. populates the host header
  15456. populates the date header
  15457. omits the security token header when session token not provided
  15458. populates the security token header when session token is provided
  15459. popualtes the authorization header (FAILED - 9)
  15460. includes the session token in the signature when present (FAILED - 10)
  15461. #service
  15462. should be ses
  15463. AWS::SimpleEmailService
  15464. behaves like a class that accepts configuration
  15465. accepts and returns a :config option
  15466. constructor passes options to Configuration#with
  15467. returns the merged config
  15468. #email_addresses
  15469. returns an email address collection
  15470. has the same config
  15471. #statistics
  15472. calls get_send_statistics
  15473. returns the send_data_points response member
  15474. #inspect
  15475. returns a simple string
  15476. #send_email
  15477. returns nil
  15478. calls send email on the client
  15479. requires a subject
  15480. requires a from
  15481. requires at least one recipient
  15482. requires a body
  15483. #send_raw_email
  15484. returns nil
  15485. calls #send_raw_email on the client
  15486. adds source if given a from address
  15487. adds destination if given a to address
  15488. accepts multiple to addresses
  15489. is aliases as #deliver
  15490. is aliases as #deliver!
  15491. with an object as input, that understands destinations (e.g. Mail::Message)
  15492. should use the destinations from raw
  15493. should use the to option as destination, when given
  15494. should use the from option, when given
  15495. #identities
  15496. returns an identity collection
  15497. #quotas
  15498. returns a hash of quotas
  15499. AWS::SimpleWorkflow::ActivityTaskCollection
  15500. #domain
  15501. returns the domain
  15502. #count
  15503. calls count_pending_activity_tasks on the client
  15504. returns the count
  15505. #poll_for_single_task
  15506. calls poll_for_activity_task on the client
  15507. accepts an identity
  15508. defaults the identit to the hostname and pid
  15509. with block
  15510. yields an activity task
  15511. does not yield if a task is not found
  15512. calls complete on the activity task
  15513. does not call complete! on a task that already responded
  15514. calls cancel! if cancel requested error is raised
  15515. calls fail! if an error is raised
  15516. #poll
  15517. calls #poll_for_single_task in a loop
  15518. AWS::SimpleWorkflow::DecisionTaskCollection
  15519. #domain
  15520. returns the domain
  15521. attributes from data
  15522. returns the task token
  15523. #record_heartbeat!
  15524. calls record activity task heartbeat on the client
  15525. accepts a details option
  15526. raises a CancelRequestedError is the response indicates to
  15527. #complete!
  15528. calls respond_activity_task_completed on the client
  15529. accepts a result
  15530. #cancel!
  15531. calls respond_activity_task_canceled on the client
  15532. accepts details
  15533. #fail!
  15534. calls respond_activity_task_failed on the client
  15535. accepts details
  15536. #responded?
  15537. starts out as false
  15538. returns true after calling complete!
  15539. returns true after calling cancel!
  15540. returns true after calling fail!
  15541. AWS::SimpleWorkflow::ActivityTypeCollection
  15542. it should behave like a simple workflow type collection
  15543. #register
  15544. calls register_workflow_type on the client
  15545. returns a type
  15546. returns a type with the proper name
  15547. returns a type with the proper version
  15548. returns a type with the proper domain
  15549. returns a type with the proper config
  15550. #[]
  15551. returns a type
  15552. returns a type with the proper name
  15553. returns a type with the proper version
  15554. returns a type with the proper domain
  15555. returns a type with the proper config
  15556. behaves like a pageable collection with limits
  15557. defaults to registered types in alphabetical order
  15558. can request only deprecated types
  15559. accepts registration status order as an option to #each
  15560. can request types in reserse alphabetical order
  15561. accepts reverse order as an option to #each
  15562. can mix filters
  15563. can request workflwo types with a given name
  15564. accepts :name to #each
  15565. behaves like a collection with #enum
  15566. should be enumerable
  15567. responds to enumerator
  15568. returns an enumerator
  15569. returns an enumerator for the each method
  15570. passes arguments to the each method
  15571. #each
  15572. with :limit
  15573. passes :limit as limit_key
  15574. makes requests until the total number of items received == limit
  15575. stops short of the limit if a truncated response is returned
  15576. with :batch_size param
  15577. convert batch size into a limit
  15578. requests :batch_size num elements until response is truncated
  15579. with :limit and :batch_size
  15580. makes requests while response is truncated
  15581. it should behave like a collection that yields models
  15582. #each
  15583. yields the correct number of members
  15584. yields instances of the member class
  15585. yields objects with the correct config
  15586. behaves like a collection that yields models
  15587. yields types with populated names
  15588. yields types with populated versions
  15589. yields types with populated descriptions
  15590. yields types with populated creation dates
  15591. #each
  15592. yields the correct number of members
  15593. yields instances of the member class
  15594. yields objects with the correct config
  15595. #register
  15596. accepts :default_task_heartbeat_timeout as an integer
  15597. accepts :default_task_heartbeat_timeout as :none
  15598. accepts :default_task_schedule_to_close_timeout as an integer
  15599. accepts :default_task_schedule_to_close_timeout as :none
  15600. accepts :default_task_schedule_to_start_timeout as an integer
  15601. accepts :default_task_schedule_to_start_timeout as :none
  15602. accepts :default_task_start_to_close_timeout as an integer
  15603. accepts :default_task_start_to_close_timeout as :none
  15604. AWS::SimpleWorkflow::ActivityType
  15605. it should behave like a simple workflow type
  15606. #domain
  15607. returns the domain it was constructed with
  15608. #name
  15609. is set in the constructor
  15610. #version
  15611. is set in the constructor
  15612. #exists?
  15613. returns true when the domain can be described
  15614. returns false when the domain can not be described
  15615. #description
  15616. returns the description if set
  15617. describes the type to get a description if not set
  15618. returns nil when the description is not set
  15619. is static
  15620. #status
  15621. describes the workflow type to get the status
  15622. is not static
  15623. can be memoized
  15624. #creation_date
  15625. describes the workflow type to get the date
  15626. casts the creation time to a time object
  15627. can be cached in the constructor
  15628. is static
  15629. #deprecation_date
  15630. describes the workflow type to get the date
  15631. casts the creation time to a time object
  15632. configuration attributes
  15633. caches :default_task_heartbeat_timeout when passed to the constructor
  15634. describes the type to get :default_task_heartbeat_timeout when not available
  15635. :default_task_heartbeat_timeout is static
  15636. caches :default_task_schedule_to_close_timeout when passed to the constructor
  15637. describes the type to get :default_task_schedule_to_close_timeout when not available
  15638. :default_task_schedule_to_close_timeout is static
  15639. caches :default_task_schedule_to_start_timeout when passed to the constructor
  15640. describes the type to get :default_task_schedule_to_start_timeout when not available
  15641. :default_task_schedule_to_start_timeout is static
  15642. caches :default_task_start_to_close_timeout when passed to the constructor
  15643. describes the type to get :default_task_start_to_close_timeout when not available
  15644. :default_task_start_to_close_timeout is static
  15645. #deprecate
  15646. calls the deprecate type method on the client
  15647. is aliased to #delete
  15648. #deprecated?
  15649. returns true when the status is DEPRECATED
  15650. returns false when the status is REGISTERED
  15651. AWS::SimpleWorkflow::Count
  15652. #count
  15653. returns the value passed to new
  15654. #to_i
  15655. is an alias of #count
  15656. #truncated?
  15657. returns the value passed to new
  15658. #==
  15659. returns true if they have the same count and truncated
  15660. returns false if the counts differ
  15661. returns false if the truncated? status differs
  15662. AWS::SimpleWorkflow::DecisionTaskCollection
  15663. #count
  15664. calls #count_pending_decision_tasks on the client
  15665. returns the count as an integer
  15666. #poll_for_single_task
  15667. :identity
  15668. passes the identity to the client request
  15669. defaults to the hostname and pid
  15670. :event_batch_size
  15671. sets the maximum page size
  15672. :reverse_event_order
  15673. sets the reverse order option
  15674. block form
  15675. completes the task at the end of the block
  15676. does complete tasks that have already been completed
  15677. does not yeild when no result found
  15678. without block
  15679. returns a decision task when one is found
  15680. returns nil when no task is found
  15681. returns a decision task
  15682. returns a decision task with the correct domain
  15683. returns a decision task with access to the task token
  15684. returns a task with the right execution
  15685. returns a task with the right workflow type
  15686. returns a task with previous started event id
  15687. returns a task with task started event id
  15688. returns the next token
  15689. #poll
  15690. calls #poll_for_single_task in a loop
  15691. AWS::SimpleWorkflow::DecisionTaskCollection
  15692. #events
  15693. returns an enumerable object
  15694. yields once for each even in the poll response
  15695. adds a #new? method to each event
  15696. #new_events
  15697. yields only events that are new
  15698. #responded?
  15699. returns false if #complete! has no been called
  15700. returns true if #complete! has no been called
  15701. #complete!
  15702. raises an error if a response was already sent
  15703. calls respond_decision_task_completed on the client
  15704. decisions
  15705. #schedule_activity_task
  15706. adds a schedule activity task decision to the response
  15707. accepts a variety of options
  15708. raises an error for an invalid activity type
  15709. #request_cancel_activity_task
  15710. accepts an activity task
  15711. accepts an activity task id
  15712. #complete_workflow_execution
  15713. can be called without options
  15714. accepts a result
  15715. #fail_workflow_execution
  15716. can be called without options
  15717. can be called with options (:reason and :details)
  15718. #cancel_workflow_execution
  15719. can be called without options
  15720. can be called with :details
  15721. #continue_as_new_workflow_execution
  15722. can be called without options
  15723. can be called with options
  15724. #record_marker
  15725. can be called without options
  15726. can be called with :details
  15727. #start_timer
  15728. can be called without options
  15729. can be called with :timer_id
  15730. returns the timer id
  15731. returns the timer id for auto-generated timer ids
  15732. #cancel_timer
  15733. adds a decision
  15734. #signal_external_workflow_execution
  15735. accepts a workflow execution object
  15736. accepts a workflow execution hash
  15737. raise an argument error for a bad hash
  15738. #request_cancel_external_workflow_execution
  15739. accepts a workflow execution object
  15740. accepts a workflow execution hash
  15741. raise an argument error for a bad hash
  15742. #start_child_workflow_execution
  15743. accepts a workflow type object
  15744. can be called with options
  15745. raises an error if the type is malformed
  15746. AWS::SimpleWorkflow::DomainCollection
  15747. #create
  15748. is an alias of register
  15749. calls register_domain on the client
  15750. stringifies durations
  15751. returns a domain
  15752. returns a domain with the proper name
  15753. returns a domain with the proper description
  15754. returns a domain with the proper config
  15755. returns a domain with the proper retention_period
  15756. #[]
  15757. returns a domain
  15758. returns a domain with the proper name
  15759. accepts a symbol name
  15760. returns a domain with the proper config
  15761. behaves like a pageable collection with limits
  15762. defaults to registered domains in alphabetical order
  15763. can request only deprecated domains
  15764. accepts registration status order as an option to #each
  15765. can request domains in reserse alphabetical order
  15766. accepts reverse order as an option to #each
  15767. can request deprecated domains in reserse alphabetical order
  15768. behaves like a collection with #enum
  15769. should be enumerable
  15770. responds to enumerator
  15771. returns an enumerator
  15772. returns an enumerator for the each method
  15773. passes arguments to the each method
  15774. #each
  15775. with :limit
  15776. passes :limit as limit_key
  15777. makes requests until the total number of items received == limit
  15778. stops short of the limit if a truncated response is returned
  15779. with :batch_size param
  15780. convert batch size into a limit
  15781. requests :batch_size num elements until response is truncated
  15782. with :limit and :batch_size
  15783. makes requests while response is truncated
  15784. behaves like a collection that yields models
  15785. yields users with populated names
  15786. yields users with populated descriptions
  15787. #each
  15788. yields the correct number of members
  15789. yields instances of the member class
  15790. yields objects with the correct config
  15791. AWS::SimpleWorkflow::Domain
  15792. #name
  15793. is set in the constructor
  15794. returns the name as a string
  15795. #exists?
  15796. returns true when the domain can be described
  15797. returns false when the domain can not be described
  15798. #retention_period
  15799. returns the description if set
  15800. describes the domain to get a description if not set
  15801. converts NONE into :none
  15802. #description
  15803. returns the description if set
  15804. describes the domain to get a description if not set
  15805. returns nil when the description is not set
  15806. is static
  15807. #status
  15808. describes the domain to get the status
  15809. returns the status as a symbol
  15810. is not static
  15811. can be memoized
  15812. #deprecate
  15813. calls deprecate_domain on the client
  15814. is aliased to #delete
  15815. #deprecated?
  15816. returns true when the status is DEPRECATED
  15817. returns false when the status is REGISTERED
  15818. #workflow_types
  15819. returns a workflow type collection
  15820. returns a collection with the proper domain
  15821. returns a collection with the proper config
  15822. #activity_types
  15823. returns a activity type collection
  15824. returns a collection with the proper domain
  15825. returns a collection with the proper config
  15826. #workflow_executions
  15827. returns a workflow execution collection
  15828. returns a collection with the proper domain
  15829. returns a collection with the proper config
  15830. #decision_tasks
  15831. returns a decision task collection collection
  15832. returns a collection with the proper domain
  15833. returns a collection with the proper config
  15834. AWS::SimpleWorkflow::HistoryEventCollection
  15835. #workflow_execution
  15836. matches what was sent to init
  15837. behaves like a pageable collection with limits
  15838. behaves like a collection with #enum
  15839. should be enumerable
  15840. responds to enumerator
  15841. returns an enumerator
  15842. returns an enumerator for the each method
  15843. passes arguments to the each method
  15844. #each
  15845. with :limit
  15846. passes :limit as limit_key
  15847. makes requests until the total number of items received == limit
  15848. stops short of the limit if a truncated response is returned
  15849. with :batch_size param
  15850. convert batch size into a limit
  15851. requests :batch_size num elements until response is truncated
  15852. with :limit and :batch_size
  15853. makes requests while response is truncated
  15854. it should behave like a collection that yields models
  15855. #each
  15856. yields the correct number of members
  15857. yields instances of the member class
  15858. yields objects with the correct config
  15859. AWS::SimpleWorkflow::HistoryEvent
  15860. methods
  15861. workflow execution
  15862. event_type
  15863. event id
  15864. created at
  15865. #attributes
  15866. returns the attributes in a Attributes object
  15867. #to_json
  15868. returns json representation of the event
  15869. AWS::SimpleWorkflow::WorkflowExecutionCollection
  15870. #domain
  15871. returns the domain passed to initialize
  15872. #[]
  15873. returns a workflow exeuction
  15874. returns a workflow exeuction with the proper domain
  15875. returns a workflow exeuction with the given workflow id
  15876. returns a workflow exeuction with the given run id
  15877. returns a workflow exeuction with the proper config
  15878. is an alias of #at
  15879. #signal
  15880. calls #signal_workflow_execution on the client
  15881. accepts a string of input
  15882. accepts a run id
  15883. #request_cancel
  15884. calls #request_cancel_workflow on the client
  15885. accepts a run id
  15886. #terminate
  15887. calls #terminate_workflow_execution on the client
  15888. accepts a child policy
  15889. accepts a reason string
  15890. accepts a details string
  15891. accepts a run id
  15892. #count
  15893. it should behave like a filterable execution method
  15894. defaults to all open executions
  15895. can be filtered by a workflow id
  15896. can be chain filtered by a workflow id
  15897. can be filtered by a tag
  15898. can be chain filtered by a tag
  15899. can be filtered by a workflow type
  15900. can be filtered by a workflow type hash
  15901. can be chain filtered by a workflow type
  15902. accepts Time objects
  15903. accepts Integers as timestamps
  15904. parses other objects a time strings
  15905. can be filtered by both started_before and started_after
  15906. raises an error if filtered by started_before and closed_after
  15907. raises an error if filtered by started_before and closed_before
  15908. raises an error if filtered by started_after and closed_after
  15909. raises an error if filtered by started_after and closed_before
  15910. raises an error if filtered by closed_before with open status
  15911. raises an error if filtered by closed_after with open status
  15912. returns a populated count object
  15913. closed executions
  15914. can be filtered by both closed_before and closed_after
  15915. calls the closed method instead of open
  15916. passes the closed status when its something other than closed
  15917. can be changed by chaining methods
  15918. counts closed executions when filtering by a closed date
  15919. adds the oldest date when not set for closed time filters
  15920. #each
  15921. it should behave like a filterable execution method
  15922. defaults to all open executions
  15923. can be filtered by a workflow id
  15924. can be chain filtered by a workflow id
  15925. can be filtered by a tag
  15926. can be chain filtered by a tag
  15927. can be filtered by a workflow type
  15928. can be filtered by a workflow type hash
  15929. can be chain filtered by a workflow type
  15930. accepts Time objects
  15931. accepts Integers as timestamps
  15932. parses other objects a time strings
  15933. can be filtered by both started_before and started_after
  15934. raises an error if filtered by started_before and closed_after
  15935. raises an error if filtered by started_before and closed_before
  15936. raises an error if filtered by started_after and closed_after
  15937. raises an error if filtered by started_after and closed_before
  15938. raises an error if filtered by closed_before with open status
  15939. raises an error if filtered by closed_after with open status
  15940. closed executions
  15941. can be filtered by both closed_before and closed_after
  15942. calls the closed method instead of open
  15943. passes the closed status when its something other than closed
  15944. can be changed by chaining methods
  15945. counts closed executions when filtering by a closed date
  15946. adds the oldest date when not set for closed time filters
  15947. behaves like a pageable collection with limits
  15948. should be reverseable
  15949. should be reversable with #reverse_order
  15950. yields populated workflow executions
  15951. behaves like a collection with #enum
  15952. should be enumerable
  15953. responds to enumerator
  15954. returns an enumerator
  15955. returns an enumerator for the each method
  15956. passes arguments to the each method
  15957. #each
  15958. with :limit
  15959. passes :limit as limit_key
  15960. makes requests until the total number of items received == limit
  15961. stops short of the limit if a truncated response is returned
  15962. with :batch_size param
  15963. convert batch size into a limit
  15964. requests :batch_size num elements until response is truncated
  15965. with :limit and :batch_size
  15966. makes requests while response is truncated
  15967. it should behave like a collection that yields models
  15968. #each
  15969. yields the correct number of members
  15970. yields instances of the member class
  15971. yields objects with the correct config
  15972. AWS::SimpleWorkflow::Domain
  15973. #domain
  15974. is the same as is passed to init
  15975. #workflow_id
  15976. is the same as is passed to init
  15977. #run_id
  15978. is the same as is passed to init
  15979. #child_policy
  15980. behaves like an attribute
  15981. describes the execution when not present
  15982. returns the value in the correct format
  15983. is cached by initialize
  15984. is static
  15985. #execution_start_to_close_timeout
  15986. behaves like an attribute
  15987. describes the execution when not present
  15988. returns the value in the correct format
  15989. is cached by initialize
  15990. is static
  15991. #task_list
  15992. behaves like an attribute
  15993. describes the execution when not present
  15994. returns the value in the correct format
  15995. is cached by initialize
  15996. is static
  15997. #task_start_to_close_timeout
  15998. behaves like an attribute
  15999. describes the execution when not present
  16000. returns the value in the correct format
  16001. is cached by initialize
  16002. is static
  16003. #cancel_requested
  16004. behaves like an attribute
  16005. describes the execution when not present
  16006. returns the value in the correct format
  16007. #closed_at
  16008. behaves like an attribute
  16009. describes the execution when not present
  16010. returns the value in the correct format
  16011. #status
  16012. returns the close status when provided
  16013. returns :closed if it is closed without a close status
  16014. returns :open if it is not closed
  16015. protects #execution_status
  16016. protects #close_status
  16017. #parent
  16018. returns nil when parent is not set
  16019. protects #parent_details
  16020. behaves like an attribute
  16021. describes the execution when not present
  16022. returns the value in the correct format
  16023. is cached by initialize
  16024. is static
  16025. #started_at
  16026. behaves like an attribute
  16027. describes the execution when not present
  16028. returns the value in the correct format
  16029. is cached by initialize
  16030. is static
  16031. #tags
  16032. returns nil as an empty array
  16033. behaves like an attribute
  16034. describes the execution when not present
  16035. returns the value in the correct format
  16036. is cached by initialize
  16037. is static
  16038. #workflow_type
  16039. protects #type_details
  16040. behaves like an attribute
  16041. describes the execution when not present
  16042. returns the value in the correct format
  16043. is cached by initialize
  16044. is static
  16045. #latest_activity_task_scheduled_at
  16046. behaves like an attribute
  16047. describes the execution when not present
  16048. returns the value in the correct format
  16049. #latest_execution_context
  16050. behaves like an attribute
  16051. describes the execution when not present
  16052. returns the value in the correct format
  16053. #closed?
  16054. returns false when the status is :open
  16055. returns true when the status is not :open
  16056. #open?
  16057. returns true when the status is :open
  16058. returns false when the status is not :open
  16059. #open_timer_count
  16060. returns the value from open counts
  16061. #open_decision_task_count
  16062. returns the value from open counts
  16063. #open_activity_task_count
  16064. returns the value from open counts
  16065. #open_child_workflow_execution_count
  16066. returns the value from open counts
  16067. #events
  16068. returns a history events collection
  16069. returns a history events collection with the proper execution
  16070. returns a history events collection with the proper config
  16071. #signal
  16072. calls #signal on the collection with a run id
  16073. #request_cancel
  16074. calls #request_cancel on the collection with a run id
  16075. #terminate
  16076. calls #terminate on the collection with a run id
  16077. #count_executions
  16078. calls #count on the collection with a run id
  16079. AWS::SimpleWorkflow::WorkflowTypeCollection
  16080. it should behave like a simple workflow type collection
  16081. #register
  16082. calls register_workflow_type on the client
  16083. returns a type
  16084. returns a type with the proper name
  16085. returns a type with the proper version
  16086. returns a type with the proper domain
  16087. returns a type with the proper config
  16088. #[]
  16089. returns a type
  16090. returns a type with the proper name
  16091. returns a type with the proper version
  16092. returns a type with the proper domain
  16093. returns a type with the proper config
  16094. behaves like a pageable collection with limits
  16095. defaults to registered types in alphabetical order
  16096. can request only deprecated types
  16097. accepts registration status order as an option to #each
  16098. can request types in reserse alphabetical order
  16099. accepts reverse order as an option to #each
  16100. can mix filters
  16101. can request workflwo types with a given name
  16102. accepts :name to #each
  16103. behaves like a collection with #enum
  16104. should be enumerable
  16105. responds to enumerator
  16106. returns an enumerator
  16107. returns an enumerator for the each method
  16108. passes arguments to the each method
  16109. #each
  16110. with :limit
  16111. passes :limit as limit_key
  16112. makes requests until the total number of items received == limit
  16113. stops short of the limit if a truncated response is returned
  16114. with :batch_size param
  16115. convert batch size into a limit
  16116. requests :batch_size num elements until response is truncated
  16117. with :limit and :batch_size
  16118. makes requests while response is truncated
  16119. it should behave like a collection that yields models
  16120. #each
  16121. yields the correct number of members
  16122. yields instances of the member class
  16123. yields objects with the correct config
  16124. behaves like a collection that yields models
  16125. yields types with populated names
  16126. yields types with populated versions
  16127. yields types with populated descriptions
  16128. yields types with populated creation dates
  16129. #each
  16130. yields the correct number of members
  16131. yields instances of the member class
  16132. yields objects with the correct config
  16133. #register
  16134. accepts :default_execution_start_to_close_timeout as an integer
  16135. accepts :default_execution_start_to_close_timeout as :none
  16136. accepts :default_task_start_to_close_timeout as an integer
  16137. accepts :default_task_start_to_close_timeout as :none
  16138. upcases :default_child_policy
  16139. AWS::SimpleWorkflow::WorkflowType
  16140. #start_execution
  16141. calls #start_workflow_execution on the client
  16142. :workflow_id
  16143. autogenerates a workflow id
  16144. accepts a workflow id
  16145. :task_start_to_close_timeout
  16146. accepts integers
  16147. converts :none into NONE
  16148. :execution_start_to_close_timeout
  16149. accepts integers
  16150. converts :none into NONE
  16151. :task_list
  16152. accepts a task list
  16153. #count_executions
  16154. counts workflow executions of its own type
  16155. it should behave like a simple workflow type
  16156. #domain
  16157. returns the domain it was constructed with
  16158. #name
  16159. is set in the constructor
  16160. #version
  16161. is set in the constructor
  16162. #exists?
  16163. returns true when the domain can be described
  16164. returns false when the domain can not be described
  16165. #description
  16166. returns the description if set
  16167. describes the type to get a description if not set
  16168. returns nil when the description is not set
  16169. is static
  16170. #status
  16171. describes the workflow type to get the status
  16172. is not static
  16173. can be memoized
  16174. #creation_date
  16175. describes the workflow type to get the date
  16176. casts the creation time to a time object
  16177. can be cached in the constructor
  16178. is static
  16179. #deprecation_date
  16180. describes the workflow type to get the date
  16181. casts the creation time to a time object
  16182. configuration attributes
  16183. caches :default_child_policy when passed to the constructor
  16184. describes the type to get :default_child_policy when not available
  16185. :default_child_policy is static
  16186. caches :default_execution_start_to_close_timeout when passed to the constructor
  16187. describes the type to get :default_execution_start_to_close_timeout when not available
  16188. :default_execution_start_to_close_timeout is static
  16189. caches :default_task_start_to_close_timeout when passed to the constructor
  16190. describes the type to get :default_task_start_to_close_timeout when not available
  16191. :default_task_start_to_close_timeout is static
  16192. #deprecate
  16193. calls the deprecate type method on the client
  16194. is aliased to #delete
  16195. #deprecated?
  16196. returns true when the status is DEPRECATED
  16197. returns false when the status is REGISTERED
  16198. #count_executions
  16199. calls count on the workflow executions collection
  16200. AWS::SimpleWorkflow
  16201. behaves like a class that accepts configuration
  16202. accepts and returns a :config option
  16203. constructor passes options to Configuration#with
  16204. returns the merged config
  16205. #domains
  16206. returns a domain collection
  16207. returns a collection with the correct config
  16208. AWS::SNS::Policy::Statement
  16209. it should behave like generic policy statement
  16210. #initialize
  16211. should yield the statement object
  16212. should work without a block
  16213. should not output both Action and NotAction
  16214. it should behave like singular constructor arg
  16215. should accept Effect
  16216. should accept :effect
  16217. should output the :effect constructor arg
  16218. should not have a effect value when it is explicitly nil
  16219. it should behave like singular constructor arg
  16220. should accept Sid
  16221. should accept :sid
  16222. should output the :sid constructor arg
  16223. should not have a sid value when it is explicitly nil
  16224. it should behave like array constructor arg
  16225. should accept actions (single)
  16226. should accept Action (single)
  16227. should accept actions (multiple)
  16228. should accept Action (multiple)
  16229. it should behave like array constructor arg
  16230. should accept excluded_actions (single)
  16231. should accept NotAction (single)
  16232. should accept excluded_actions (multiple)
  16233. should accept NotAction (multiple)
  16234. it should behave like array constructor arg
  16235. should accept principals (single)
  16236. should accept Principal (single)
  16237. should accept principals (multiple)
  16238. should accept Principal (multiple)
  16239. it should behave like array constructor arg
  16240. should accept resources (single)
  16241. should accept Resource (single)
  16242. should accept resources (multiple)
  16243. should accept Resource (multiple)
  16244. Principal hash option
  16245. should accept a hash
  16246. should accept a single AWS principal
  16247. should accept multiple AWS principals
  16248. Condition hash option
  16249. should construct a ConditionBlock
  16250. empty
  16251. #to_h
  16252. should have an Sid generated from a UUID
  16253. should not have a principal
  16254. should not have a condition block
  16255. with an effect
  16256. should generate an Effect
  16257. with AWS account principals
  16258. should generate a multi-valued Principal
  16259. with any AWS account principal
  16260. should generate a wildcard Principal
  16261. with a prefixed string action
  16262. should generate an Action
  16263. with any action
  16264. should generate a wildcard Action
  16265. with multiple actions
  16266. should generate a multi-valued Action
  16267. excluded actions
  16268. should generate a multi-valued NotAction
  16269. #include_actions
  16270. should generate a multi-valued Action
  16271. should add to existing actions
  16272. #exclude_actions
  16273. should generate a multi-valued NotAction
  16274. should add to existing actions
  16275. with a resource ARN
  16276. should generate a Resource key
  16277. with :any as the resource
  16278. should generate a wildcard for the Resource
  16279. with a condition block
  16280. should generate a Condition key
  16281. #conditions
  16282. should be a ConditionBlock by default
  16283. it should behave like service specific policy statement
  16284. symbolized action names
  16285. raises error for unknown actions
  16286. translates action names
  16287. translates excluded actions
  16288. resource arns
  16289. accepts topics
  16290. AWS::SNS::Request
  16291. it should behave like an authorize v2 request
  16292. #string_to_sign
  16293. first line should match the request http method
  16294. second line should match the host
  16295. third line should match the path
  16296. 4th line should be sorted encoded key/value pairs
  16297. #add_authorization!
  16298. adds a signature version param
  16299. adds a signature method param
  16300. adds a signature param
  16301. adds the access key id param
  16302. it should behave like an authorize v2 request with a session token
  16303. #add_authorization!
  16304. no configured session token
  16305. should not add the SecurityToken parameter
  16306. has a session token configured
  16307. should add the SecurityToken parameter
  16308. AWS::SNS::SubscriptionCollection
  16309. it should behave like collection object
  16310. it should behave like enumerable
  16311. should not read the client
  16312. #each
  16313. calls the describe method
  16314. yields an instance of the member class
  16315. passes the config
  16316. should yield the right number of objects
  16317. it should behave like paginated collection
  16318. continunes calling get_topics when a next_token is returned
  16319. yielded objects
  16320. should have the correct arns
  16321. should have the correct endpoints
  16322. should have the correct protocols
  16323. should have the correct owner IDs
  16324. should have the correct topic ARNs
  16325. should have topics with the correct config
  16326. #[]
  16327. should return a subscription object
  16328. AWS::SNS::Subscription
  16329. it should behave like a resource object
  16330. #inspect
  16331. should include the ID
  16332. it should behave like resource equality method
  16333. #==
  16334. same class
  16335. should return true if everything matches
  16336. should return false if any identifying information does not match
  16337. different class
  16338. should return false
  16339. it should behave like resource equality method
  16340. #eql?
  16341. same class
  16342. should return true if everything matches
  16343. should return false if any identifying information does not match
  16344. different class
  16345. should return false
  16346. behaves like it has a delivery policy
  16347. #delivery_policy_json
  16348. returns the raw json
  16349. returns nil if the policy is not present
  16350. #delivery_policy
  16351. returns nil if the policy is not present
  16352. #effective_delivery_policy_json
  16353. returns the raw json
  16354. returns nil if the policy is not present
  16355. #effective_delivery_policy
  16356. returns the parsed json
  16357. #delivery_policy=
  16358. calls the set attributes client method
  16359. calls #to_json on non-string arguments
  16360. passes an empty string when the policy is nil
  16361. #initialize
  16362. should set the arn
  16363. should set the topic
  16364. should set the endpoint
  16365. should set the protocol
  16366. should set the owner_id
  16367. #unsubscribe
  16368. should call unsubscribe
  16369. should return nil
  16370. #exists?
  16371. calls #get_subscription_attributes on the client
  16372. returns true if no error is raised
  16373. returns false if the client raises a not found error
  16374. returns false if the client raises an invalid parameter error
  16375. AWS::SNS::TopicCollection
  16376. behaves like enumerable
  16377. should not read the client
  16378. #create
  16379. call create_topic on the client
  16380. returns a new topic
  16381. returns a new topic with the correct arn
  16382. returns a topic with the correct config
  16383. #[]
  16384. returns a topic
  16385. returns a topic with the given arn
  16386. returns a topic with the correct config
  16387. raises an argument error when an invalid topic arn is passed
  16388. #each
  16389. calls list_topics on the client
  16390. yields once for each returned topic
  16391. yields topic objects with the correct arns and configs
  16392. continunes calling get_topics when a next_token is returned
  16393. AWS::SNS::Topic
  16394. behaves like it has a delivery policy
  16395. #delivery_policy_json
  16396. returns the raw json
  16397. returns nil if the policy is not present
  16398. #delivery_policy
  16399. returns nil if the policy is not present
  16400. #effective_delivery_policy_json
  16401. returns the raw json
  16402. returns nil if the policy is not present
  16403. #effective_delivery_policy
  16404. returns the parsed json
  16405. #delivery_policy=
  16406. calls the set attributes client method
  16407. calls #to_json on non-string arguments
  16408. passes an empty string when the policy is nil
  16409. #config
  16410. returns the config from initialize
  16411. #arn
  16412. returns the arn from initialize
  16413. #name
  16414. returns the trailing piece from the arn
  16415. it should not make any requests against client
  16416. #subscribe
  16417. should return a subscription if an ARN is returned
  16418. should return nil if the subscription is pending
  16419. endpoint
  16420. http
  16421. should use the "http" protocol
  16422. should accept a URI object
  16423. https
  16424. should use the "https" protocol
  16425. should accept a URI object
  16426. email
  16427. should use the "email" protocol
  16428. sms
  16429. accepts phone numbers 11 characters or longer
  16430. strips non-digits from the phone number
  16431. email-json
  16432. should use the "email-json" protocol
  16433. sqs
  16434. should use the "sqs" protocol
  16435. should accept an SQS::Queue object
  16436. should add a policy when the queue has not policy
  16437. should update an existing queue policy
  16438. should not update policy when :update_policy is false
  16439. should raise ArgumentError if the ARN is not SQS-like
  16440. unrecognized endpoint protocol
  16441. should raise ArgumentError
  16442. #confirm_subscription
  16443. should call confirm_subscription on the client
  16444. should pass :authenticate_on_unsubscribe
  16445. should return a subscription object with the ARN from the response
  16446. #subscriptions
  16447. should return a collection of subscriptions for the topic
  16448. attributes
  16449. #display_name
  16450. calls get_topic_attributes
  16451. returns the display name as a string
  16452. returns the name when the display name is not present
  16453. #num_subscriptions_confirmed
  16454. calls get_topic_attributes
  16455. returns the num_subscriptions_confirmed as an integer
  16456. #num_subscriptions_pending
  16457. calls get_topic_attributes
  16458. returns the num_subscriptions_pending as an integer
  16459. #num_subscriptions_deleted
  16460. calls get_topic_attributes
  16461. returns the num_subscriptions_deleted as an integer
  16462. #owner
  16463. calls get_topic_attributes
  16464. returns the owner as a string
  16465. #policy
  16466. calls get_topic_attributes
  16467. returns the policy
  16468. #publish
  16469. calls publish on the client
  16470. returns the message id from the response
  16471. passes the subject along
  16472. passes the http message along
  16473. passes the https message along
  16474. passes the email message along
  16475. passes the email_json message along
  16476. passes the sqs message along
  16477. #delete
  16478. calls delete_topic on the client
  16479. returns nil
  16480. #==
  16481. returns true for topics with matching arn
  16482. returns false for topics with miss-matching arn
  16483. AWS::SNS::TopicSubscriptionCollection
  16484. it should behave like collection object
  16485. should pass the topic ARN
  16486. it should behave like enumerable
  16487. should not read the client
  16488. #each
  16489. calls the describe method
  16490. yields an instance of the member class
  16491. passes the config
  16492. should yield the right number of objects
  16493. it should behave like paginated collection
  16494. continunes calling get_topics when a next_token is returned
  16495. yielded objects
  16496. should have the correct arns
  16497. should have the correct endpoints
  16498. should have the correct protocols
  16499. should have the correct owner IDs
  16500. should have the correct topic ARNs
  16501. should have topics with the correct config
  16502. #[]
  16503. should return a subscription object
  16504. #initialize
  16505. should store the topic
  16506. AWS::SNS
  16507. behaves like a class that accepts configuration
  16508. accepts and returns a :config option
  16509. constructor passes options to Configuration#with
  16510. returns the merged config
  16511. #topics
  16512. returns a topics collections
  16513. returns a collection with the correct config
  16514. #subscriptions
  16515. returns a subscriptions collection
  16516. returns a collection with the correct config
  16517. AWS::SQS::Client
  16518. error parsing
  16519. should raise the correct error class
  16520. should strip the AWS.SimpleQueueService prefix when forming the class name
  16521. AWS::SQS::Policy::Statement
  16522. it should behave like generic policy statement
  16523. #initialize
  16524. should yield the statement object
  16525. should work without a block
  16526. should not output both Action and NotAction
  16527. it should behave like singular constructor arg
  16528. should accept Effect
  16529. should accept :effect
  16530. should output the :effect constructor arg
  16531. should not have a effect value when it is explicitly nil
  16532. it should behave like singular constructor arg
  16533. should accept Sid
  16534. should accept :sid
  16535. should output the :sid constructor arg
  16536. should not have a sid value when it is explicitly nil
  16537. it should behave like array constructor arg
  16538. should accept actions (single)
  16539. should accept Action (single)
  16540. should accept actions (multiple)
  16541. should accept Action (multiple)
  16542. it should behave like array constructor arg
  16543. should accept excluded_actions (single)
  16544. should accept NotAction (single)
  16545. should accept excluded_actions (multiple)
  16546. should accept NotAction (multiple)
  16547. it should behave like array constructor arg
  16548. should accept principals (single)
  16549. should accept Principal (single)
  16550. should accept principals (multiple)
  16551. should accept Principal (multiple)
  16552. it should behave like array constructor arg
  16553. should accept resources (single)
  16554. should accept Resource (single)
  16555. should accept resources (multiple)
  16556. should accept Resource (multiple)
  16557. Principal hash option
  16558. should accept a hash
  16559. should accept a single AWS principal
  16560. should accept multiple AWS principals
  16561. Condition hash option
  16562. should construct a ConditionBlock
  16563. empty
  16564. #to_h
  16565. should have an Sid generated from a UUID
  16566. should not have a principal
  16567. should not have a condition block
  16568. with an effect
  16569. should generate an Effect
  16570. with AWS account principals
  16571. should generate a multi-valued Principal
  16572. with any AWS account principal
  16573. should generate a wildcard Principal
  16574. with a prefixed string action
  16575. should generate an Action
  16576. with any action
  16577. should generate a wildcard Action
  16578. with multiple actions
  16579. should generate a multi-valued Action
  16580. excluded actions
  16581. should generate a multi-valued NotAction
  16582. #include_actions
  16583. should generate a multi-valued Action
  16584. should add to existing actions
  16585. #exclude_actions
  16586. should generate a multi-valued NotAction
  16587. should add to existing actions
  16588. with a resource ARN
  16589. should generate a Resource key
  16590. with :any as the resource
  16591. should generate a wildcard for the Resource
  16592. with a condition block
  16593. should generate a Condition key
  16594. #conditions
  16595. should be a ConditionBlock by default
  16596. it should behave like service specific policy statement
  16597. symbolized action names
  16598. raises error for unknown actions
  16599. translates action names
  16600. translates excluded actions
  16601. resource arns
  16602. prefixes queues
  16603. AWS::SQS::QueueCollection
  16604. it should behave like an SQS model object
  16605. #initialize
  16606. should not read the client
  16607. #client
  16608. gets the client from the configuration
  16609. #inspect
  16610. should have a short inspect method
  16611. it should behave like collection object
  16612. it should behave like enumerable
  16613. should not read the client
  16614. #each
  16615. calls the describe method
  16616. yields an instance of the member class
  16617. passes the config
  16618. should yield the right number of objects
  16619. yielded objects
  16620. should have the correct queue URL
  16621. #create
  16622. should call create_queue
  16623. should pass additional options
  16624. should return a queue object with the URL set
  16625. renames the deprecated :default_visibility_timeout option
  16626. passes policy strings unmodified
  16627. calls #to_json on all other policy options
  16628. merges multiple options/attributes
  16629. #url_for
  16630. gets the url for a queue
  16631. accepts an :queue_owner_aws_account_id
  16632. returns the queue url from the response
  16633. #with_prefix
  16634. should return a collection with the prefix
  16635. should preserve the config
  16636. should not modify the original
  16637. should pass :queue_name_prefix to the client
  16638. #[]
  16639. should return a queue object with the given url
  16640. AWS::SQS::Queue
  16641. it should behave like an SQS model object
  16642. #initialize
  16643. should not read the client
  16644. #client
  16645. gets the client from the configuration
  16646. #inspect
  16647. should have a short inspect method
  16648. it should behave like a resource object
  16649. #inspect
  16650. should include the ID
  16651. it should behave like resource equality method
  16652. #==
  16653. same class
  16654. should return true if everything matches
  16655. should return false if any identifying information does not match
  16656. different class
  16657. should return false
  16658. it should behave like resource equality method
  16659. #eql?
  16660. same class
  16661. should return true if everything matches
  16662. should return false if any identifying information does not match
  16663. different class
  16664. should return false
  16665. #initialize
  16666. should store the url
  16667. #delete
  16668. returns nil
  16669. should call delete_queue
  16670. #send_message
  16671. should call send_message on the client
  16672. passes along the delay option
  16673. should return an object with the message ID from the response
  16674. should return an object with the md5 digest from the response
  16675. receiving messages
  16676. #receive_message
  16677. should call receive_message on the client
  16678. should pass :visibility_timeout
  16679. should pass :attributes as :attribute_names
  16680. should return a message object with the response data
  16681. should pass the attribute data to the message constructor
  16682. should pass :limit as :max_number_of_messages
  16683. should return an array of message objects if :limit is passed
  16684. should return nil if no messages are returned
  16685. attribute names
  16686. should inflect symbol names
  16687. should interpret aliases
  16688. block form
  16689. should yield the message
  16690. should not call the block if no message is returned
  16691. should return the return value of the block
  16692. should automatically delete the message on normal exit
  16693. should not delete the message on an exceptional exit
  16694. #poll
  16695. should call receive_message on the client
  16696. should pass :visibility_timeout
  16697. should pass :batch_size as :max_number_of_messages
  16698. yields each message
  16699. calls receive_message repeatedly
  16700. :poll_interval
  16701. sleeps after each empty response
  16702. has sleep time configurable through :poll_interval
  16703. does not sleep at all if :poll_interval is 0
  16704. :idle_timeout
  16705. should stop polling if the timeout has elapsed since the last message
  16706. should not stop if another item is received before the timeout
  16707. should not stop as long as items are being received
  16708. :initial_timeout
  16709. should stop polling if the timeout expires before the first message
  16710. should override the idle timeout if smaller
  16711. should default to the idle timeout
  16712. should not prevent the first message within the timeout
  16713. should override the idle timeout if larger
  16714. should not prevent the first message if false
  16715. should not apply after the first message
  16716. #exists?
  16717. should call get_queue_attributes
  16718. should return false if NonExistentQueue is raised
  16719. should return false if InvalidAddress is raised
  16720. should return true if no exception is raised
  16721. should not rescue other exceptions
  16722. #approximate_number_of_messages
  16723. it should behave like sqs queue attribute accessor
  16724. should call get_queue_attributes
  16725. should return the correct value
  16726. should populate the arn
  16727. #approximate_number_of_messages_not_visible
  16728. it should behave like sqs queue attribute accessor
  16729. should call get_queue_attributes
  16730. should return the correct value
  16731. should populate the arn
  16732. #visibility_timeout
  16733. it should behave like sqs queue attribute accessor
  16734. should call get_queue_attributes
  16735. should return the correct value
  16736. should populate the arn
  16737. #visibility_timeout=
  16738. should call set_queue_attributes
  16739. returns nil
  16740. #created_timestamp
  16741. it should behave like sqs queue attribute accessor
  16742. should call get_queue_attributes
  16743. should return the correct value
  16744. should populate the arn
  16745. #last_modified_timestamp
  16746. it should behave like sqs queue attribute accessor
  16747. should call get_queue_attributes
  16748. should return the correct value
  16749. should populate the arn
  16750. #maximum_message_size
  16751. it should behave like sqs queue attribute accessor
  16752. should call get_queue_attributes
  16753. should return the correct value
  16754. should populate the arn
  16755. #maximum_message_size=
  16756. returns the size argument
  16757. should call set_queue_attributes
  16758. #message_retention_period
  16759. it should behave like sqs queue attribute accessor
  16760. should call get_queue_attributes
  16761. should return the correct value
  16762. should populate the arn
  16763. #message_retention_period=
  16764. should call set_queue_attributes
  16765. returns the period argument
  16766. #arn
  16767. it should behave like sqs queue attribute accessor
  16768. should call get_queue_attributes
  16769. should return the correct value
  16770. should populate the arn
  16771. #policy
  16772. it should behave like sqs queue attribute accessor
  16773. should call get_queue_attributes
  16774. should return the correct value
  16775. should populate the arn
  16776. #policy=
  16777. should call set queue attribute
  16778. passes policy strings unmodified
  16779. deletes a policy by passing an empty string
  16780. #batch_delete
  16781. calls #delete_message_batch on the client
  16782. accepts an array of values
  16783. returns nil
  16784. accepts ReceivedMesssage objects
  16785. raises an error if some of the messages in the batch fail
  16786. #batch_change_visibility
  16787. calls #change_message_visibility_batch on the client
  16788. accepts an array of values
  16789. accepts ReceivedMesssage objects
  16790. accepts a list of hashes
  16791. returns nil
  16792. raises an error if any of the messages in the batch fail
  16793. #batch_send
  16794. calls #send_message_batch on the client
  16795. accepts an array of messages
  16796. returns an array of sent messages
  16797. raises a BatchSendError if any of the messages failed
  16798. AWS::SQS::ReceivedMessage
  16799. it should behave like an SQS model object
  16800. #initialize
  16801. should not read the client
  16802. #client
  16803. gets the client from the configuration
  16804. #inspect
  16805. should have a short inspect method
  16806. #initialize
  16807. should store the queue
  16808. should store the id
  16809. should store the handle
  16810. should store the body
  16811. should store the md5 digest
  16812. should store the attributes
  16813. #as_sns_message
  16814. returns a recieved sns message object
  16815. #delete
  16816. should call delete_message
  16817. #visibility_timeout=
  16818. returns the timeout argument
  16819. should call change_message_visibility
  16820. attribute accessors
  16821. #sender_id
  16822. should return the SenderId attribute
  16823. should be nil when there is no SenderId attribute
  16824. #sent_timestamp
  16825. should return the SentTimestamp attribute as a Time object
  16826. should be nil when there is no SentTimestamp attribute
  16827. #approximate_receive_count
  16828. should return the ApproximateReceiveCount attribute as an integer
  16829. should be nil when there is no ApproximateReceiveCount attribute
  16830. #approximate_first_receive_timestamp
  16831. should return the ApproximateFirstReceiveTimestamp attribute as a Time object
  16832. should be nil when there is no ApproximateFirstReceiveTimestamp attribute
  16833. AWS::SQS::ReceivedSNSMessage
  16834. #body
  16835. it decodes and returns the message as body
  16836. #topic_arn
  16837. it decodes and returns the topic arn
  16838. #topic
  16839. it returns the sns topic
  16840. #message_type
  16841. it decodes and returns the message type
  16842. #signature
  16843. it decodes and returns the signature
  16844. #published_at
  16845. it decodes and returns the time the message was published
  16846. #message_id
  16847. it decodes and returns the message id
  16848. #signing_cert_url
  16849. it decodes and returns the signing cert url
  16850. #unsubscribe_url
  16851. it decodes and returns the unsubscribe url
  16852. AWS::SQS::Request
  16853. it should behave like an authorize v2 request
  16854. #string_to_sign
  16855. first line should match the request http method
  16856. second line should match the host
  16857. third line should match the path
  16858. 4th line should be sorted encoded key/value pairs
  16859. #add_authorization!
  16860. adds a signature version param
  16861. adds a signature method param
  16862. adds a signature param
  16863. adds the access key id param
  16864. it should behave like an authorize v2 request with a session token
  16865. #add_authorization!
  16866. no configured session token
  16867. should not add the SecurityToken parameter
  16868. has a session token configured
  16869. should add the SecurityToken parameter
  16870. no queue URL parameter
  16871. should use the endpoint as the host
  16872. should have the path "/"
  16873. queue URL parameter included
  16874. should use the host from the queue URL
  16875. should use the path from the queue URL
  16876. AWS::SQS
  16877. behaves like a class that accepts configuration
  16878. accepts and returns a :config option
  16879. constructor passes options to Configuration#with
  16880. returns the merged config
  16881. #queues
  16882. it should behave like sqs top level collection
  16883. should return an instance of AWS::SQS::QueueCollection
  16884. should pass the config
  16885. AWS::STS::Client
  16886. error parsing
  16887. should raise the correct error class
  16888. #new
  16889. accepts :use_ssl as true
  16890. does not accept :use_ssl => false
  16891. AWS::STS::FederatedSession
  16892. #initialize
  16893. should store the user ID
  16894. should store the user ARN
  16895. should store the packed policy size
  16896. AWS::STS::Policy
  16897. #to_h
  16898. should not include an ID
  16899. AWS::STS::Request
  16900. it should behave like an authorize v4 request
  16901. #add_authorization!
  16902. sets the content type form-urlencoded by default
  16903. populates the host header
  16904. populates the date header
  16905. omits the security token header when session token not provided
  16906. populates the security token header when session token is provided
  16907. popualtes the authorization header (FAILED - 11)
  16908. includes the session token in the signature when present (FAILED - 12)
  16909. AWS::STS::Session
  16910. #initialize
  16911. should store the credentials
  16912. should store the expiration time
  16913. AWS::STS
  16914. behaves like a class that accepts configuration
  16915. accepts and returns a :config option
  16916. constructor passes options to Configuration#with
  16917. returns the merged config
  16918. #new_session
  16919. should call get_session_token
  16920. should pass :duration as :duration_seconds
  16921. should return a session object
  16922. should set the credentials hash
  16923. should set the expiration time
  16924. #new_federated_session
  16925. should call get_federation_token
  16926. should pass :duration as :duration_seconds
  16927. should return a federated session object
  16928. should set the credentials hash
  16929. should set the expiration time
  16930. should set the user ID
  16931. should set the user ARN
  16932. should set the packed policy size
  16933. :policy
  16934. should accept a string
  16935. should accept an object that responds to to_json
  16936. AWS
  16937. #config
  16938. should return a configuration object
  16939. should pass options through to Configuration#with
  16940. should return the same config when no options are added
  16941. #stub!
  16942. should set the config :stub_clients to true
  16943. #start_memoizing
  16944. should enable memoization
  16945. should return nil
  16946. should not extend into other threads
  16947. #stop_memoizing
  16948. should do nothing if memoization is disabled
  16949. should stop memoization
  16950. should only affect the current thread
  16951. #memoize
  16952. should call start_memoization
  16953. should call stop_memoization at the end of the block
  16954. should call stop_memoization for an exceptional exit
  16955. should return the return value of the block
  16956. while already memoizing
  16957. should do nothing
  16958. #resource_cache
  16959. it should behave like memoization cache
  16960. memoizing
  16961. should return a resource cache object
  16962. should return a different cache each time memoization is enabled
  16963. should return a different cache in each thread
  16964. not memoizing
  16965. should return nil
  16966. #response_cache
  16967. it should behave like memoization cache
  16968. memoizing
  16969. should return a resource cache object
  16970. should return a different cache each time memoization is enabled
  16971. should return a different cache in each thread
  16972. not memoizing
  16973. should return nil
  16974. #config
  16975. SERVICE_region
  16976. returns REGION when endpoint is SERVICE.REGION.amazonaws.com
  16977. returns us-east-1 when endpoint is SERVCIE.amazonaws.com
  16978. returns us-gov-west-1 when endpoint is ec2.us-gov-west-1.amazonaws.com
  16979. returns us-gov-west-2 when endpoint is s3-fips-us-gov-west-1.amazonaws.com
  16980. returns us-gov-west-1 when endpoint is iam.us-gov.amazonaws.com
  16981. Net::HTTP::ConnectionPool::Connection
  16982. #pool
  16983. returns the connection pool
  16984. #host
  16985. returns the host
  16986. #port
  16987. defaults to port 80
  16988. can be set in the options
  16989. #ssl
  16990. defaults to false when port is 80
  16991. defaults to true when port is 443
  16992. can be set with port
  16993. #ssl?
  16994. returns the same value as #ssl
  16995. #proxy_address
  16996. defaults to nil
  16997. can be set by :proxy_uri
  16998. can be set by :proxy_address
  16999. #proxy_port
  17000. defaults to nil
  17001. can be set by :proxy_uri
  17002. can be set by :proxy_port
  17003. #proxy_user
  17004. defaults to nil
  17005. can be set by :proxy_uri
  17006. can be set by :proxy_user
  17007. #proxy_password
  17008. defaults to nil
  17009. can be set by :proxy_uri
  17010. can be set by :proxy_password
  17011. #connection_key
  17012. returns a suitable connection key
  17013. #proxy?
  17014. returns false if #proxy_address is blank
  17015. returns true if #proxy_address is set
  17016. read timeout
  17017. defaults to 60 seconds
  17018. can be set to something else
  17019. can be changed
  17020. #key
  17021. creates a key that represents the connection
  17022. defaults the port to 80 when ssl is not provided
  17023. defaults the port to 443 when ssl is not true
  17024. defaults the port to 80 when ssl is not false
  17025. defaults ssl to true when port is 443
  17026. defaults ssl to false when port 80
  17027. accepts both port as 80 and ssl true
  17028. accepts both port as 80 and ssl true
  17029. encodes ssl options
  17030. accepts a string proxy uri
  17031. accepts a URI::HTTP object for proxy uri
  17032. #request
  17033. sets the read timeout before each request
  17034. sets the read timeout before each request
  17035. Net::HTTP::ConnectionPool
  17036. reuses connections
  17037. creates connections as needed
  17038. drops idle connections from the pool
  17039. Net::HTTP::ConnectionPool::Session
  17040. #http_session
  17041. returns the raw http sessoin
  17042. #key
  17043. returns the connection key
  17044. timestamps
  17045. defaults #created_at to now
  17046. defaults #last_used_at to nil
  17047. updates #last_used_at to now after calling #request
  17048. #request
  17049. passes arguments to the session#request
  17050. passes multiple arguments and block arguments
  17051. ::for
  17052. returns a Session
  17053. calls start on the session
  17054. sets the http open timeout before starting the session
  17055. constructs an http session from the connection
  17056. does not enable ssl unless requested
  17057. passes proxy options to the session constructor
  17058. enables peer verification by default
  17059. accepts a certificate authority file
  17060. accepts a certificate authority path
  17061. allows ssl without peer verification
  17062. Net::HTTP::ConnectionPool
  17063. #initialize
  17064. :idle_timeout
  17065. defaults to to 60 seconds
  17066. can be set as a number
  17067. #http_wire_trace
  17068. defaults to false
  17069. can be set to true
  17070. #logger
  17071. defaults to nil
  17072. defaults to a $stdout logger when :http_wire_trace set to true
  17073. can be set to any logger, does not affect wire trace logging
  17074. can be set with :http_wire_trace, overriding default stdout logger
  17075. :open_timeout
  17076. defaults to 15 seconds
  17077. can be set as a number
  17078. is set on http session before calling start
  17079. #connection_for
  17080. returns a Connection object
  17081. returns a connection with the connection pool
  17082. returns a connection with the correct host
  17083. returns a connection with the correct options
  17084. #request
  17085. makes an http request
  17086. cleaning up old sessions
  17087. cleans up sessions that have sat idle longer than allowed
  17088. does not return cleaned up sessions
  17089. Pending:
  17090. AWS::Core::OptionGrammar#customize hint data value descriptors map should generate the correct query parameters
  17091. # Not yet implemented
  17092. # ./spec/aws/core/option_grammar_spec.rb:529
  17093. AWS::Core::OptionGrammar#customize hint data value descriptors map of string to list should generate the correct query parameters
  17094. # Not yet implemented
  17095. # ./spec/aws/core/option_grammar_spec.rb:560
  17096. AWS::Core::OptionGrammar#customize hint data value descriptors map of string to structure should generate the correct query parameters
  17097. # Not yet implemented
  17098. # ./spec/aws/core/option_grammar_spec.rb:586
  17099. AWS::EC2::Instance#export calls #create_instance_export_task on the client
  17100. # Not yet implemented
  17101. # ./spec/aws/ec2/instance_spec.rb:1294
  17102. AWS::EC2::Instance#export returns a populated ExportTask object
  17103. # Not yet implemented
  17104. # ./spec/aws/ec2/instance_spec.rb:1296
  17105. AWS::EC2::Instance#export calling #cancel terminates the export task
  17106. # Not yet implemented
  17107. # ./spec/aws/ec2/instance_spec.rb:1298
  17108. AWS::Record::Model it should behave like an aws record base class it should behave like record class it should behave like shardable set_shard_name finds an object via the correct shard
  17109. # No reason given
  17110. # ./spec/shared/record/shardable_examples.rb:45
  17111. AWS::Record::Model it should behave like an aws record base class it should behave like record class it should behave like shardable set_shard_name finds an object via the correct shard
  17112. # No reason given
  17113. # ./spec/shared/record/shardable_examples.rb:45
  17114. AWS::SimpleDB::Errors::DuplicateItemName it should behave like modeled sdb exception should expose box_usage as a float
  17115. # No reason given
  17116. # ./spec/aws/simple_db/errors_spec.rb:49
  17117. Failures:
  17118. 1) AWS::SimpleEmailService::Request it should behave like an authorize v4 request#add_authorization! popualtes the authorization header
  17119. Failure/Error: request.headers['authorization'].should eq("AWS4-HMAC-SHA256 Credential=akid/20120101/region-name/service-name/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature=58ba42aa064264dc8b8d056d1e1a174679d2fcfa545bb860145b23ee20342346")
  17120. expected: "AWS4-HMAC-SHA256 Credential=akid/20120101/region-name/service-name/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature=58ba42aa064264dc8b8d056d1e1a174679d2fcfa545bb860145b23ee20342346"
  17121. got: "AWS4-HMAC-SHA256 Credential=akid/20120101/region-name/service-name/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature=4c92fc6d5415ff9cc6e8a667ffab3986890c987d043c2bf96d27449a95cebe43"
  17122. (compared using ==)
  17123. Shared Example Group: "an authorize v4 request" called from ./spec/aws/auto_scaling/request_spec.rb:20
  17124. # ./spec/shared/signature/version_4_examples.rb:76
  17125. 2) AWS::SimpleEmailService::Request it should behave like an authorize v4 request#add_authorization! includes the session token in the signature when present
  17126. Failure/Error: request.headers['authorization'].should eq("AWS4-HMAC-SHA256 Credential=akid/20120101/region-name/service-name/aws4_request, SignedHeaders=content-type;host;x-amz-date;x-amz-security-token, Signature=c6345f040b0b32469729beb2f57fb706b133e65ef32f8bc2a18aee77c51c8991")
  17127. expected: "AWS4-HMAC-SHA256 Credential=akid/20120101/region-name/service-name/aws4_request, SignedHeaders=content-type;host;x-amz-date;x-amz-security-token, Signature=c6345f040b0b32469729beb2f57fb706b133e65ef32f8bc2a18aee77c51c8991"
  17128. got: "AWS4-HMAC-SHA256 Credential=akid/20120101/region-name/service-name/aws4_request, SignedHeaders=content-type;host;x-amz-date;x-amz-security-token, Signature=f3794f9465cdf96f2e54f7db05f5cdaca79cbbcf83a1d3cce4f69c4da6f1d1e3"
  17129. (compared using ==)
  17130. Shared Example Group: "an authorize v4 request" called from ./spec/aws/auto_scaling/request_spec.rb:20
  17131. # ./spec/shared/signature/version_4_examples.rb:82
  17132. 3) AWS::SimpleEmailService::Request it should behave like an authorize v4 request#add_authorization! popualtes the authorization header
  17133. Failure/Error: request.headers['authorization'].should eq("AWS4-HMAC-SHA256 Credential=akid/20120101/region-name/service-name/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature=58ba42aa064264dc8b8d056d1e1a174679d2fcfa545bb860145b23ee20342346")
  17134. expected: "AWS4-HMAC-SHA256 Credential=akid/20120101/region-name/service-name/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature=58ba42aa064264dc8b8d056d1e1a174679d2fcfa545bb860145b23ee20342346"
  17135. got: "AWS4-HMAC-SHA256 Credential=akid/20120101/region-name/service-name/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature=4c92fc6d5415ff9cc6e8a667ffab3986890c987d043c2bf96d27449a95cebe43"
  17136. (compared using ==)
  17137. Shared Example Group: "an authorize v4 request" called from ./spec/aws/cloud_formation/request_spec.rb:20
  17138. # ./spec/shared/signature/version_4_examples.rb:76
  17139. 4) AWS::SimpleEmailService::Request it should behave like an authorize v4 request#add_authorization! includes the session token in the signature when present
  17140. Failure/Error: request.headers['authorization'].should eq("AWS4-HMAC-SHA256 Credential=akid/20120101/region-name/service-name/aws4_request, SignedHeaders=content-type;host;x-amz-date;x-amz-security-token, Signature=c6345f040b0b32469729beb2f57fb706b133e65ef32f8bc2a18aee77c51c8991")
  17141. expected: "AWS4-HMAC-SHA256 Credential=akid/20120101/region-name/service-name/aws4_request, SignedHeaders=content-type;host;x-amz-date;x-amz-security-token, Signature=c6345f040b0b32469729beb2f57fb706b133e65ef32f8bc2a18aee77c51c8991"
  17142. got: "AWS4-HMAC-SHA256 Credential=akid/20120101/region-name/service-name/aws4_request, SignedHeaders=content-type;host;x-amz-date;x-amz-security-token, Signature=f3794f9465cdf96f2e54f7db05f5cdaca79cbbcf83a1d3cce4f69c4da6f1d1e3"
  17143. (compared using ==)
  17144. Shared Example Group: "an authorize v4 request" called from ./spec/aws/cloud_formation/request_spec.rb:20
  17145. # ./spec/shared/signature/version_4_examples.rb:82
  17146. 5) AWS::DynamoDB::Request it should behave like an authorize v4 request#add_authorization! popualtes the authorization header
  17147. Failure/Error: request.headers['authorization'].should eq("AWS4-HMAC-SHA256 Credential=akid/20120101/region-name/service-name/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature=58ba42aa064264dc8b8d056d1e1a174679d2fcfa545bb860145b23ee20342346")
  17148. expected: "AWS4-HMAC-SHA256 Credential=akid/20120101/region-name/service-name/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature=58ba42aa064264dc8b8d056d1e1a174679d2fcfa545bb860145b23ee20342346"
  17149. got: "AWS4-HMAC-SHA256 Credential=akid/20120101/region-name/service-name/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature=4c92fc6d5415ff9cc6e8a667ffab3986890c987d043c2bf96d27449a95cebe43"
  17150. (compared using ==)
  17151. Shared Example Group: "an authorize v4 request" called from ./spec/aws/dynamo_db/request_spec.rb:20
  17152. # ./spec/shared/signature/version_4_examples.rb:76
  17153. 6) AWS::DynamoDB::Request it should behave like an authorize v4 request#add_authorization! includes the session token in the signature when present
  17154. Failure/Error: request.headers['authorization'].should eq("AWS4-HMAC-SHA256 Credential=akid/20120101/region-name/service-name/aws4_request, SignedHeaders=content-type;host;x-amz-date;x-amz-security-token, Signature=c6345f040b0b32469729beb2f57fb706b133e65ef32f8bc2a18aee77c51c8991")
  17155. expected: "AWS4-HMAC-SHA256 Credential=akid/20120101/region-name/service-name/aws4_request, SignedHeaders=content-type;host;x-amz-date;x-amz-security-token, Signature=c6345f040b0b32469729beb2f57fb706b133e65ef32f8bc2a18aee77c51c8991"
  17156. got: "AWS4-HMAC-SHA256 Credential=akid/20120101/region-name/service-name/aws4_request, SignedHeaders=content-type;host;x-amz-date;x-amz-security-token, Signature=f3794f9465cdf96f2e54f7db05f5cdaca79cbbcf83a1d3cce4f69c4da6f1d1e3"
  17157. (compared using ==)
  17158. Shared Example Group: "an authorize v4 request" called from ./spec/aws/dynamo_db/request_spec.rb:20
  17159. # ./spec/shared/signature/version_4_examples.rb:82
  17160. 7) AWS::SimpleEmailService::Request it should behave like an authorize v4 request#add_authorization! popualtes the authorization header
  17161. Failure/Error: request.headers['authorization'].should eq("AWS4-HMAC-SHA256 Credential=akid/20120101/region-name/service-name/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature=58ba42aa064264dc8b8d056d1e1a174679d2fcfa545bb860145b23ee20342346")
  17162. expected: "AWS4-HMAC-SHA256 Credential=akid/20120101/region-name/service-name/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature=58ba42aa064264dc8b8d056d1e1a174679d2fcfa545bb860145b23ee20342346"
  17163. got: "AWS4-HMAC-SHA256 Credential=akid/20120101/region-name/service-name/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature=4c92fc6d5415ff9cc6e8a667ffab3986890c987d043c2bf96d27449a95cebe43"
  17164. (compared using ==)
  17165. Shared Example Group: "an authorize v4 request" called from ./spec/aws/iam/request_spec.rb:20
  17166. # ./spec/shared/signature/version_4_examples.rb:76
  17167. 8) AWS::SimpleEmailService::Request it should behave like an authorize v4 request#add_authorization! includes the session token in the signature when present
  17168. Failure/Error: request.headers['authorization'].should eq("AWS4-HMAC-SHA256 Credential=akid/20120101/region-name/service-name/aws4_request, SignedHeaders=content-type;host;x-amz-date;x-amz-security-token, Signature=c6345f040b0b32469729beb2f57fb706b133e65ef32f8bc2a18aee77c51c8991")
  17169. expected: "AWS4-HMAC-SHA256 Credential=akid/20120101/region-name/service-name/aws4_request, SignedHeaders=content-type;host;x-amz-date;x-amz-security-token, Signature=c6345f040b0b32469729beb2f57fb706b133e65ef32f8bc2a18aee77c51c8991"
  17170. got: "AWS4-HMAC-SHA256 Credential=akid/20120101/region-name/service-name/aws4_request, SignedHeaders=content-type;host;x-amz-date;x-amz-security-token, Signature=f3794f9465cdf96f2e54f7db05f5cdaca79cbbcf83a1d3cce4f69c4da6f1d1e3"
  17171. (compared using ==)
  17172. Shared Example Group: "an authorize v4 request" called from ./spec/aws/iam/request_spec.rb:20
  17173. # ./spec/shared/signature/version_4_examples.rb:82
  17174. 9) AWS::SimpleEmailService::Request it should behave like an authorize v4 request#add_authorization! popualtes the authorization header
  17175. Failure/Error: request.headers['authorization'].should eq("AWS4-HMAC-SHA256 Credential=akid/20120101/region-name/service-name/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature=58ba42aa064264dc8b8d056d1e1a174679d2fcfa545bb860145b23ee20342346")
  17176. expected: "AWS4-HMAC-SHA256 Credential=akid/20120101/region-name/service-name/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature=58ba42aa064264dc8b8d056d1e1a174679d2fcfa545bb860145b23ee20342346"
  17177. got: "AWS4-HMAC-SHA256 Credential=akid/20120101/region-name/service-name/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature=4c92fc6d5415ff9cc6e8a667ffab3986890c987d043c2bf96d27449a95cebe43"
  17178. (compared using ==)
  17179. Shared Example Group: "an authorize v4 request" called from ./spec/aws/simple_email_service/request_spec.rb:20
  17180. # ./spec/shared/signature/version_4_examples.rb:76
  17181. 10) AWS::SimpleEmailService::Request it should behave like an authorize v4 request#add_authorization! includes the session token in the signature when present
  17182. Failure/Error: request.headers['authorization'].should eq("AWS4-HMAC-SHA256 Credential=akid/20120101/region-name/service-name/aws4_request, SignedHeaders=content-type;host;x-amz-date;x-amz-security-token, Signature=c6345f040b0b32469729beb2f57fb706b133e65ef32f8bc2a18aee77c51c8991")
  17183. expected: "AWS4-HMAC-SHA256 Credential=akid/20120101/region-name/service-name/aws4_request, SignedHeaders=content-type;host;x-amz-date;x-amz-security-token, Signature=c6345f040b0b32469729beb2f57fb706b133e65ef32f8bc2a18aee77c51c8991"
  17184. got: "AWS4-HMAC-SHA256 Credential=akid/20120101/region-name/service-name/aws4_request, SignedHeaders=content-type;host;x-amz-date;x-amz-security-token, Signature=f3794f9465cdf96f2e54f7db05f5cdaca79cbbcf83a1d3cce4f69c4da6f1d1e3"
  17185. (compared using ==)
  17186. Shared Example Group: "an authorize v4 request" called from ./spec/aws/simple_email_service/request_spec.rb:20
  17187. # ./spec/shared/signature/version_4_examples.rb:82
  17188. 11) AWS::STS::Request it should behave like an authorize v4 request#add_authorization! popualtes the authorization header
  17189. Failure/Error: request.headers['authorization'].should eq("AWS4-HMAC-SHA256 Credential=akid/20120101/region-name/service-name/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature=58ba42aa064264dc8b8d056d1e1a174679d2fcfa545bb860145b23ee20342346")
  17190. expected: "AWS4-HMAC-SHA256 Credential=akid/20120101/region-name/service-name/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature=58ba42aa064264dc8b8d056d1e1a174679d2fcfa545bb860145b23ee20342346"
  17191. got: "AWS4-HMAC-SHA256 Credential=akid/20120101/region-name/service-name/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature=4c92fc6d5415ff9cc6e8a667ffab3986890c987d043c2bf96d27449a95cebe43"
  17192. (compared using ==)
  17193. Shared Example Group: "an authorize v4 request" called from ./spec/aws/sts/request_spec.rb:20
  17194. # ./spec/shared/signature/version_4_examples.rb:76
  17195. 12) AWS::STS::Request it should behave like an authorize v4 request#add_authorization! includes the session token in the signature when present
  17196. Failure/Error: request.headers['authorization'].should eq("AWS4-HMAC-SHA256 Credential=akid/20120101/region-name/service-name/aws4_request, SignedHeaders=content-type;host;x-amz-date;x-amz-security-token, Signature=c6345f040b0b32469729beb2f57fb706b133e65ef32f8bc2a18aee77c51c8991")
  17197. expected: "AWS4-HMAC-SHA256 Credential=akid/20120101/region-name/service-name/aws4_request, SignedHeaders=content-type;host;x-amz-date;x-amz-security-token, Signature=c6345f040b0b32469729beb2f57fb706b133e65ef32f8bc2a18aee77c51c8991"
  17198. got: "AWS4-HMAC-SHA256 Credential=akid/20120101/region-name/service-name/aws4_request, SignedHeaders=content-type;host;x-amz-date;x-amz-security-token, Signature=f3794f9465cdf96f2e54f7db05f5cdaca79cbbcf83a1d3cce4f69c4da6f1d1e3"
  17199. (compared using ==)
  17200. Shared Example Group: "an authorize v4 request" called from ./spec/aws/sts/request_spec.rb:20
  17201. # ./spec/shared/signature/version_4_examples.rb:82
  17202. Finished in 1 minute 47.83 seconds
  17203. 10951 examples, 12 failures, 9 pending
  17204. Failed examples:
  17205. rspec ./spec/shared/signature/version_4_examples.rb:73 # AWS::SimpleEmailService::Request it should behave like an authorize v4 request#add_authorization! popualtes the authorization header
  17206. rspec ./spec/shared/signature/version_4_examples.rb:79 # AWS::SimpleEmailService::Request it should behave like an authorize v4 request#add_authorization! includes the session token in the signature when present
  17207. rspec ./spec/shared/signature/version_4_examples.rb:73 # AWS::SimpleEmailService::Request it should behave like an authorize v4 request#add_authorization! popualtes the authorization header
  17208. rspec ./spec/shared/signature/version_4_examples.rb:79 # AWS::SimpleEmailService::Request it should behave like an authorize v4 request#add_authorization! includes the session token in the signature when present
  17209. rspec ./spec/shared/signature/version_4_examples.rb:73 # AWS::DynamoDB::Request it should behave like an authorize v4 request#add_authorization! popualtes the authorization header
  17210. rspec ./spec/shared/signature/version_4_examples.rb:79 # AWS::DynamoDB::Request it should behave like an authorize v4 request#add_authorization! includes the session token in the signature when present
  17211. rspec ./spec/shared/signature/version_4_examples.rb:73 # AWS::SimpleEmailService::Request it should behave like an authorize v4 request#add_authorization! popualtes the authorization header
  17212. rspec ./spec/shared/signature/version_4_examples.rb:79 # AWS::SimpleEmailService::Request it should behave like an authorize v4 request#add_authorization! includes the session token in the signature when present
  17213. rspec ./spec/shared/signature/version_4_examples.rb:73 # AWS::SimpleEmailService::Request it should behave like an authorize v4 request#add_authorization! popualtes the authorization header
  17214. rspec ./spec/shared/signature/version_4_examples.rb:79 # AWS::SimpleEmailService::Request it should behave like an authorize v4 request#add_authorization! includes the session token in the signature when present
  17215. rspec ./spec/shared/signature/version_4_examples.rb:73 # AWS::STS::Request it should behave like an authorize v4 request#add_authorization! popualtes the authorization header
  17216. rspec ./spec/shared/signature/version_4_examples.rb:79 # AWS::STS::Request it should behave like an authorize v4 request#add_authorization! includes the session token in the signature when present
  17217. * ERROR: dev-ruby/aws-sdk-1.5.7 failed (test phase):
  17218. * rspec failed
  17219. *
  17220. * Call stack:
  17221. * ebuild.sh, line 85: Called src_test
  17222. * environment, line 4605: Called ruby-ng_src_test
  17223. * environment, line 4291: Called _ruby_each_implementation 'each_ruby_test'
  17224. * environment, line 615: Called _ruby_invoke_environment 'ruby18' 'each_ruby_test'
  17225. * environment, line 667: Called each_ruby_test
  17226. * environment, line 950: Called each_fakegem_test
  17227. * environment, line 936: Called ruby-ng_rspec
  17228. * environment, line 4255: Called die
  17229. * The specific snippet of code:
  17230. * ${RUBY} -S rspec ${rspec_params} "$@" || die "rspec failed"
  17231. *
  17232. * If you need support, post the output of `emerge --info '=dev-ruby/aws-sdk-1.5.7'`,
  17233. * the complete build log and the output of `emerge -pqv '=dev-ruby/aws-sdk-1.5.7'`.
  17234. !!! When you file a bug report, please include the following information:
  17235. GENTOO_VM= CLASSPATH="/usr/libexec/ccp4/bin:/usr/libexec/ccp4/bin:" JAVA_HOME="/etc/java-config-2/current-system-vm"
  17236. JAVACFLAGS="" COMPILER=""
  17237. and of course, the output of emerge --info
  17238. * The complete build log is located at '/var/log/portage/dev-ruby:aws-sdk-1.5.7:20120721-121919.log'.
  17239. * For convenience, a symlink to the build log is located at '/tmp/portage/dev-ruby/aws-sdk-1.5.7/temp/build.log'.
  17240. * The ebuild environment file is located at '/tmp/portage/dev-ruby/aws-sdk-1.5.7/temp/environment'.
  17241. * Working directory: '/tmp/portage/dev-ruby/aws-sdk-1.5.7/work/ruby18/amazonwebservices-aws-sdk-for-ruby-fe86658'
  17242. * S: '/tmp/portage/dev-ruby/aws-sdk-1.5.7/work/ruby18/amazonwebservices-aws-sdk-for-ruby-fe86658'
  17243. >>> Install aws-sdk-1.5.7 into /tmp/portage/dev-ruby/aws-sdk-1.5.7/image/ category dev-ruby
  17244. * Running install phase for ruby18 ...
  17245. * Running install phase for ruby19 ...
  17246. * Running install phase for ree18 ...
  17247. * Running install phase for all ...
  17248. * Running check install phase for ruby18 ...
  17249. * Running check install phase for ruby19 ...
  17250. * Running check install phase for ree18 ...
  17251. >>> Completed installing aws-sdk-1.5.7 into /tmp/portage/dev-ruby/aws-sdk-1.5.7/image/
  17252. ecompressdir: bzip2 -9 /usr/share/doc