Commit graph

53 commits

Author SHA1 Message Date
Rick Bradley
48149eda64 (maint) Drop clear_pool from vm/template specs 2016-06-01 15:14:02 -05:00
Rick Bradley
2fcd639882 (maint) drop unneeded clear_pool helper
Given the way we're flushing redis (which seems super performant), we don't
need to clear pools any more at the beginning of tests.
2016-06-01 14:55:10 -05:00
Rick Bradley
ea9fd004d6 (maint) Lift #redis definition into spec helper library 2016-06-01 14:15:59 -05:00
Rick Bradley
e4aa311834 (maint) Define :config in token tests
Miscellaneous whitespace cleanup.
2016-06-01 14:12:38 -05:00
Rick Bradley
b1cdc4fbe4 (WIP) notes for next steps 2016-05-27 16:23:26 -05:00
Rick Bradley
def1a4e596 (maint) clean up vm_spec 2016-05-27 16:16:54 -05:00
Rick Bradley
b5350760a4 (WIP) add partially-converted /vm/hostname specs 2016-05-27 16:16:32 -05:00
Rick Bradley
5c2c18ac44 (maint) rename create_vm -> create_ready_vm 2016-05-27 16:16:00 -05:00
Rick Bradley
4d6368a42d (maint) Move extracted spec helper methods to spec_helper 2016-05-27 15:42:57 -05:00
Rick Bradley
355b48981d (maint) Clean up, reorganize specs 2016-05-27 15:39:04 -05:00
Rick Bradley
d6e8a0e168 (maint) Convert specs for /vm/template 2016-05-27 15:38:47 -05:00
Rick Bradley
d2c9e285fc (maint) Clean up some of the /vm/ tests 2016-05-27 15:28:09 -05:00
Rick Bradley
95d4a0b401 Remove mockist tests from main suite. 2016-05-20 17:03:37 -05:00
Rick Bradley
82f3cccd65 De-mockistify v1/token specs; use real redis.
Open questions:

 - Do we need to do better cleanup here?
 - Should we be using a separate database to prevent clobbering other local db's?
2016-05-20 16:59:24 -05:00
Scott Schneider
20fa7d20be Merge pull request #138 from sschneid/qeng_2807
(QENG-2807) Allow pool 'alias' names
2015-11-13 09:24:48 -08:00
Scott Schneider
1fcda86124 Spec tests for pool aliases, /vm/:template
This PR adds spec testing for pool 'alias' functionality introduced in
17b24d6, as well as the following previously non-existant tests:

- new tests for handling requests for a VM from a nonexistant pool
- new tests for the `POST /vm/:template` endpoint
2015-11-05 11:53:38 -08:00
Scott Schneider
d74c9ff512 Don't require username/password authentication for GET /token/:token route 2015-11-04 13:19:15 -08:00
Scott Schneider
e0356968df (QENG-2995) Display associated VMs in GET /token/:token endpoint 2015-11-04 12:35:35 -08:00
Colin
7b9b178861 (MAINT) Remove Ping Check on Running VMs
Prior to this commit, a running VM could fail a ping check and be
destroyed. This causes issues when network hiccups occur or the machine
is performing a reboot.

A VM that is in a ready state will now be destroyed when handed back or
it hits the lifetime TTL.
2015-10-02 13:03:48 -07:00
Scott Schneider
d1c8bcdbcc RSpec mocking for TCPSocket.new 2015-09-17 11:31:31 -07:00
Scott Schneider
906ae89987 Remove duplicate (nested) "ok" responses
As we approach an "official" v1.0.0 of the API I'd like to remove some old
nested "ok" responses.  These were left in as the Beaker vmpooler
hypervisor used them, but I long-ago patched that code and I think it's
time to deprecate these.
2015-08-21 13:58:07 -07:00
Scott Schneider
89ce70dba9 Track token use times
* rename the Redis token 'timestamp' var to 'created'
* update the Redis token 'last' var when token is successfully validataed
* expose the Redis token 'last' var in GET /token route
2015-08-20 19:54:59 -07:00
Scott Schneider
e4f2777889 Spec tests for GET /token 2015-08-20 18:50:55 -07:00
Scott Schneider
47deddcc46 Split API spec into /token and /token/:token 2015-08-20 18:50:55 -07:00
Scott Schneider
3c3172615b Merge pull request #120 from colinPL/main_less_redis
(MAINT) Reduce redis Calls in API
2015-08-03 09:42:16 -07:00
Scott Schneider
2d514f53bf Use expect_json helper method for determining JSON response status 2015-07-28 14:54:28 -07:00
Colin
acb95d34c8 (MAINT) Reduce redis Calls in API
The return values from most redis calls inform the caller of whether a
key or hash value exists. Several exists() calls can be removed in
favor of this approach.

Updated spec tests to account for a removal of exists() and ismember()
calls in API tests.
2015-07-28 14:47:01 -07:00
Scott Schneider
add88c7bba (QENG-1304) vmpooler should require an auth key for VM destruction 2015-07-28 12:03:14 -07:00
Scott Schneider
1689133b19 Require an auth token to use snapshots 2015-07-16 10:59:30 -07:00
Scott Schneider
fe65d5b11b Merge branch 'master' into host_snapshots 2015-07-16 10:42:16 -07:00
Scott Schneider
93acc8327b Host snapshot rspec tests 2015-07-16 10:35:44 -07:00
Scott Schneider
821ffd866a Log empty pools
Make a note in the logfile when a pool is detected to be empty.

Also:

- vmpooler__empty__<pool> Redis key to determine when to log
- lifetime/TTL checks moved to `_check_running_vm` method
  - no longer pay attention to VMware-based 'host.runtime.bootTime'

This PR implements a bunch of other stuff to account for rspec testing:

- Thread creation and looping in `check_pool`
- Everything else in `_check_pool`
2015-07-07 11:12:46 -07:00
Scott Schneider
6523062b62 Allow for only a [configurable] tag set 2015-06-30 12:54:46 -07:00
Scott Schneider
3aa8389749 Discard/skip empty tags 2015-06-30 11:20:13 -07:00
Scott Schneider
1f62379be8 Only filter regex matches
and a spec test for it.

Previously using the example shown in vmpooler.yaml.example was failing
to tag strings WITHOUT a '/' in them.
2015-06-02 19:12:30 -07:00
Scott Schneider
60819b9a7e Spec tests for tagfilter 2015-06-02 10:53:20 -07:00
Roger Ignazio
ae91077494 Merge pull request #104 from colinPL/qeng_2360
(QENG-2360) check_running_vm Spec Tests
2015-05-19 15:06:46 -07:00
Colin
dec95ba693 (QENG-2360) check_running_vm Spec Tests
Add spec tests for pool_manager#check_running_vm. In the process of
writing these tests, the method was broken in to smaller methods for
testability reasons.
2015-05-19 10:23:31 -07:00
Scott Schneider
c255494ddd Add spec tests for #get_tag_metrics method 2015-05-12 10:09:57 -07:00
Scott Schneider
7bddfdef1b Store token metadata in vmpooler__vm__ Redis hash 2015-04-30 19:29:18 -07:00
Scott Schneider
13df748cc6 Add basic auth token functionality
...and rspec tests, hooray!
2015-04-28 10:47:57 -07:00
Roger Ignazio
8cd49d215b Merge pull request #97 from sschneid/basic_auth
Add basic HTTP authentication and /token routes
2015-04-22 11:39:24 -07:00
Scott Schneider
bad1ce65a1 Spec tests for /token routes 2015-04-21 17:12:36 -07:00
Colin
bc5c3a889f (QENG-2208) Add more helper tests
Add tests for more Helper methods. This moves line coverage to 59%,
leaving only get_task_metrics remaining.
2015-04-15 14:00:13 -07:00
Colin
ab990e2081 (QENG-2208) Move Sinatra Helpers to own file
This moves the inline Helpers contained in V1.rb to their own file:
helpers.rb. In making this change, any API.settings call was removed
from the helper method itself and passed through from V1.

This also adds tests for hostname shortener and validate date string.
2015-04-15 12:44:12 -07:00
Scott Schneider
b9124b9a22 Fix rspec tests broken in f9de28236b 2015-04-10 10:28:52 -07:00
Scott Schneider
6224a20792 Add spec tests for dashboard redirect 2015-04-10 10:13:24 -07:00
Colin
6cd56f40ee Merge pull request #89 from sschneid/remove_janitor_expire_via_redis
Auto-expire Redis metadata key via Redis EXPIRE
2015-04-07 15:57:17 -07:00
Scott Schneider
4878799374 Merge pull request #88 from colinPL/qeng_1906_sinatra
(QENG-1906) Add specs for Dashboard and root API class
2015-04-07 11:15:14 -07:00
Scott Schneider
f9de28236b Auto-expire Redis metadata key via Redis EXPIRE
This commit also removed the unnecessary Vmpooler::Janitor lib
2015-04-07 11:01:37 -07:00