Commit graph

381 commits

Author SHA1 Message Date
Dane Everitt
5bd3f59455
Fix schedules running twice, closes #1288 2018-09-03 14:32:33 -07:00
Dane Everitt
413a22a3d5
Changes to job running to clean up code 2018-09-03 14:04:25 -07:00
Dane Everitt
a7943553d3
Fix namespacing 2018-09-03 14:04:16 -07:00
Dane Everitt
bcb3f5d5fa
Fix handling of times 2018-08-31 21:12:10 -07:00
Dane Everitt
178b8f8ce6
More logical time handling 2018-08-31 21:00:13 -07:00
Dane Everitt
e5636405f3
Drop carbon, use chronos 2018-08-31 20:52:15 -07:00
Dane Everitt
b859ed61f4
Performance improvements to browser tests 2018-07-15 16:20:36 -07:00
Dane Everitt
d9a09e92bd
Add tests for all of the account actions 2018-07-15 15:58:24 -07:00
Dane Everitt
be2c76c24a
Add tests for password changing 2018-07-15 11:44:18 -07:00
Dane Everitt
6e9123af19
Correctly tear down tests and remove cookies 2018-07-15 11:44:08 -07:00
Dane Everitt
8bbe6bc279
Add test, fix behavior of model creation 2018-07-14 22:58:33 -07:00
Dane Everitt
aba1b297c8
Add a test that wont work due to auth issues currently 2018-07-14 22:11:56 -07:00
Dane Everitt
eafc4408eb
Fix broken unit tests 2018-07-14 21:49:49 -07:00
Dane Everitt
2ae43e1f61
Add changes for vagrant 2018-07-14 21:16:18 -07:00
Dane Everitt
c82f273d85
Fix remaining broken tests 2018-07-04 19:38:23 -07:00
Dane Everitt
6c20ea9881
Add tests for changed controllers 2018-07-04 19:20:33 -07:00
Dane Everitt
48cb01f438
Merge branch 'develop' into feature/vuejs 2018-07-02 21:00:42 -07:00
Dane Everitt
d2bc791d74
Fix links sent to users when accounts are created
closes #1093
2018-06-30 18:47:31 -07:00
Dane Everitt
304d947536
Allow creating subuser with no permissions 2018-06-30 18:25:46 -07:00
Dane Everitt
974318ffb4
Logout other sessions when password is changed
closes #1222
2018-06-30 17:50:58 -07:00
Sergzy
bad9ae58e8 Fix environment_variables name (#1212) 2018-06-30 13:25:40 -07:00
Dane Everitt
92c03d4953
Add tests for password reset page functionality 2018-06-02 16:39:49 -07:00
Dane Everitt
969b16a563 Apply fixes from StyleCI
[ci skip] [skip ci]
2018-06-02 21:32:26 +00:00
stanjg
b56f3a8671
Expanded the middleware test 2018-06-01 16:22:06 +02:00
stanjg
3bb9e5e8a8 Merge branch 'develop' of https://github.com/stanjg/panel into feature/user-specific-language 2018-06-01 15:58:09 +02:00
Dane Everitt
316bb9c11e
Merge branch 'feature/vuejs' into feature/dusk-vuejs 2018-05-31 23:00:08 -07:00
Dane Everitt
fd8d7c3571
Merge pull request #1130 from stanjg/feature/stats-page
Added a statistics page to monitor the panel usage
2018-05-31 22:56:58 -07:00
Dane Everitt
f8fa62e3d6
First round of authentication tests 2018-05-31 22:42:52 -07:00
Dane Everitt
b50f314eda
💯 Lets not accidentally drop the entire database again. 2018-05-31 22:30:05 -07:00
Dane Everitt
c86690a695
Get base code for dusk tests 2018-05-31 21:45:49 -07:00
stanjg
ccf3e3511f
Renamed middleware, and fixed the test 2018-05-31 16:40:18 +02:00
stanjg
60e1ffa564
Added a test for the controller and cleaned up the controller 2018-05-27 00:16:13 +02:00
Dane Everitt
e648e50d90
Write some example tests for @stanjg 2018-05-26 11:00:28 -07:00
Dane Everitt
341f6e48c4
Merge branch 'develop' into feature/upgrade-laravel-to-5.6 2018-05-20 16:53:45 -07:00
Dane Everitt
49903e0590
Changes for new hashing to keep tests speedy 2018-05-20 16:38:27 -07:00
Dane Everitt
7e2e5fd7c1
Merge branch 'develop' into feature/upgrade-laravel-to-5.6 2018-05-20 16:30:42 -07:00
Dane Everitt
37a5e29db9
Merge branch 'develop' into feature/exception-tests 2018-05-20 16:26:18 -07:00
Dane Everitt
457e461f45
Merge pull request #1144 from pterodactyl/feature/spelling
Spellchecked the whole application
2018-05-20 16:24:09 -07:00
Lance Pioch
a17570c1cb Fix styling 2018-05-13 18:33:51 -04:00
Lance Pioch
06229a328f Fix the description of the tests 2018-05-13 17:49:36 -04:00
Lance Pioch
a6bca34677 Add more exception tests 2018-05-13 17:49:31 -04:00
Lance Pioch
038e5e1b7d Add exception tests 2018-05-13 17:49:25 -04:00
Lance Pioch
6a4443b751 Fix the styling 2018-05-13 17:41:01 -04:00
Lance Pioch
02379b657d Replace the log writer class with the new one 2018-05-13 16:40:31 -04:00
Lance Pioch
78b40a8055 Spelling mistakes for tests 2018-05-13 11:12:54 -04:00
Lance Pioch
e2dc0638d9 Fix app/ spelling errors 2018-05-13 11:12:41 -04:00
Lance Pioch
ba96829d13 Fix cron jobs by removing the extra unusable argument 2018-05-13 00:42:25 -04:00
stanjg
f5a15c4039
Fixed the test 2018-05-04 13:58:39 +02:00
Lance Pioch
88fd83d413 Remove unused imports (#1102) 2018-04-08 15:37:27 -05:00
Dane Everitt
565c5ddc52
Add integration tests for nests 2018-03-25 17:41:36 -05:00
Dane Everitt
bde4d4187f
Merge branch 'develop' into feature/api-integration-testing 2018-03-21 22:25:16 -05:00
Dane Everitt
fd62a04480
Removed deprecated test 2018-03-17 15:12:00 -05:00
Dane Everitt
b96c2d16ee
Added validation to variable validation rules to validate that the validation rules are valid
closes #988
2018-03-17 15:09:09 -05:00
Dane Everitt
abd2a42471
Fix data integrity exception thrown when attempting to store updated server egg variables 2018-03-10 13:55:24 -06:00
Dane Everitt
40c74ae1e7
Add validation to prevent invalid ports, closes #1034 2018-03-10 13:10:40 -06:00
Dane Everitt
bc3cb7bfd5
Fix broken session driver test 2018-03-10 13:02:49 -06:00
Dane Everitt
ac9f83a8fe
Fix test to run with new bootstrapping 2018-03-04 22:42:33 -06:00
Dane Everitt
e8ea218f20
Add integration test for remaining application api user endpoints 2018-03-04 22:35:57 -06:00
Dane Everitt
9905358bc3
Add integration tests for remote user endpoint 2018-03-04 16:56:05 -06:00
Dane Everitt
e2aa01c9cc
First go at integration tests 2018-03-04 16:30:16 -06:00
Dane Everitt
36837df0a6
Use beginning of UUID for server uuidShort 2018-03-03 22:20:53 -06:00
Dane Everitt
a4f03f5d02
Handle missing daemon keys better and fix subuser missing key errors 2018-03-03 21:31:44 -06:00
Dane Everitt
18e394eb14
Fix tests 2018-03-03 18:24:40 -06:00
Dane Everitt
0135f7ee8e
Add test for new command 2018-03-02 21:26:42 -06:00
Dane Everitt
060c64263b
Merge branch 'feature/user-databases' into develop 2018-03-02 19:41:28 -06:00
Dane Everitt
f3144b872f
Set the hashing rounds low to speed up tests 2018-03-02 19:40:14 -06:00
Dane Everitt
e39353a18d
Add tests for new service 2018-03-02 19:37:21 -06:00
Dane Everitt
8f72571895
Fix IP access middleware 2018-02-28 23:39:59 -06:00
Dane Everitt
d4e331c20a
Merge branch 'develop' into feature/client-api 2018-02-27 19:49:06 -06:00
Dane Everitt
a765e0dbb6
closes #991 2018-02-27 19:43:47 -06:00
Dane Everitt
4c41bd9075
Fix some broken tests 2018-02-25 15:34:01 -06:00
Dane Everitt
e28973bcae
Move everything around as needed to get things setup for the client API 2018-02-25 15:30:56 -06:00
Dane Everitt
633bba6d6e
Add support for external_id on servers, closes #975 2018-02-24 11:57:12 -06:00
Dane Everitt
c61c2bc5fd
Fix User model validation behavior, closes #950 2018-02-18 13:29:28 -06:00
Dane Everitt
e9680fc29c
Fix for StyleCI 2018-02-17 16:21:37 -06:00
ShadowKitten
d8be167a9c Add support for allowing subusers to access SFTP. (#918) 2018-02-17 16:10:44 -06:00
Dane Everitt
241f7d0125
Fix some data integrity issues 2018-02-17 13:37:53 -06:00
Dane Everitt
303b64ced1
Fix improperly named mailgun environment variable, closes #942 2018-02-17 13:00:11 -06:00
Dane Everitt
8e1aa15dba
Fixes a bug that would cause non-editable variables on the front-end to throw a validation error 2018-02-15 20:58:51 -06:00
Dane Everitt
e2cdb3b4b1
Add test cases for services 2018-02-11 17:32:45 -06:00
Dane Everitt
3ecab82358
Fix exception when empty default value is passed for an egg variable, closes #934 2018-02-11 16:47:50 -06:00
Dane Everitt
bf537922a3
Fix username validation and auto-generation, closes #927 2018-02-11 16:39:50 -06:00
Dane Everitt
cfb7415e2a
Fix data integrity exception, closes #922 2018-02-10 14:01:49 -06:00
Dane Everitt
dd54c5abb1
Fix user password handling in Admin CP 2018-02-07 21:13:40 -06:00
Dane Everitt
e49c739bde
Fix failing tests 2018-02-04 15:43:09 -06:00
Dane Everitt
7a19019980
Fix suspension/installed handling for servers
closes Pterodactyl/Panel#891
2018-01-30 22:40:21 -06:00
Dane Everitt
c599112021
Finalize server management API 2018-01-30 20:36:59 -06:00
Dane Everitt
5ed164e13e
Implement server creation though the API.
Also implements auto-deployment to specific locations and ports.
2018-01-28 17:14:14 -06:00
Dane Everitt
407120a854
Merge branch 'develop' into feature/api-v1 2018-01-21 17:06:31 -06:00
Dane Everitt
d6d43ebc1d
Fix failing tests on 7.2 2018-01-21 16:08:34 -06:00
Dane Everitt
17f6f3eeb6
Add server details modification endpoint to API. 2018-01-20 16:03:23 -06:00
Dane Everitt
06335a1e47
Update test namespace 2018-01-19 20:00:28 -06:00
Dane Everitt
0e7f8cedf0
Reorganize API files 2018-01-19 19:58:57 -06:00
Dane Everitt
c59d3a96aa
Add test for new middleware 2018-01-18 21:41:45 -06:00
Dane Everitt
f9fc3f4370
Update interface to begin change to seperate account API keys and application keys
Main difference is permissions, cleaner UI for normal users, and account keys use permissions assigned to servers and subusers while application keys use R/W ACLs stored in the key table.
2018-01-14 13:30:55 -06:00
Dane Everitt
14f9e1ad43
More permission removal cleanup 2018-01-14 12:11:04 -06:00
Dane Everitt
ad3a954256
Rename APIKey to ApiKey 2018-01-14 12:06:15 -06:00
Dane Everitt
e0fb7fa30c
Fix failing ApiKeyCreationService test 2018-01-13 16:23:43 -06:00
Dane Everitt
e3df0738da
Change the way API keys are stored and validated; clarify API namespacing
Previously, a single key was used to access the API, this has not changed in terms of what the user sees. However, API keys now use an identifier and token internally. The identifier is the first 16 characters of the key, and the token is the remaining 32. The token is stored encrypted at rest in the database and the identifier is used by the API middleware to grab that record and make a timing attack safe comparison.
2018-01-13 16:06:19 -06:00
Dane Everitt
cf21fd5a4b
More API updates, better support for node config edits 2018-01-10 23:19:03 -06:00
Dane Everitt
800e2df6b2
Merge branch 'develop' into feature/api-v1
# Conflicts:
#	app/Contracts/Repository/RepositoryInterface.php
#	app/Repositories/Eloquent/EloquentRepository.php
#	app/Services/Nodes/NodeUpdateService.php
#	tests/Unit/Services/Nodes/NodeUpdateServiceTest.php
2018-01-10 20:55:22 -06:00
Dane Everitt
036bea2b94
Update schedule process to allow toggling/triggering via UI 2018-01-08 21:43:10 -06:00
Dane Everitt
d2afc29a80
Refactor how repositories for the daemon work. 2018-01-05 18:27:47 -06:00
Dane Everitt
5f9fe4a69b
Update calls to missing function 2018-01-05 16:33:50 -06:00
Dane Everitt
60eb60013c
Update repository base code to be cleaner and make use of PHP 7 features 2018-01-04 22:49:50 -06:00
Dane Everitt
15289b76a7
Finish first round of User/Node API additions
Will still need some tweaking and improvements to allow everything to be used.
2018-01-01 15:11:44 -06:00
Dane Everitt
4457634127
Fix user creation to use UUIDs correctly
Also updates the notification send method to be cleaner and more maintainable
2018-01-01 12:13:08 -06:00
Dane Everitt
5efee34378
close #840 2017-12-30 20:25:04 -06:00
Dane Everitt
10e2e6e379
close #841 2017-12-30 19:56:42 -06:00
Dane Everitt
b9d67459b2
Update to Laravel 5.5 (#814) 2017-12-17 13:07:38 -06:00
Dane Everitt
f9df463d32
Implement a better management interface for Settings (#809) 2017-12-14 21:05:26 -06:00
Dane Everitt
285485d7b0
Change how API keys are validated (#771) 2017-12-03 14:29:14 -06:00
Dane Everitt
975597b4d0
Implement changes to administrative user revocation, closes #733 2017-12-03 14:00:47 -06:00
Dane Everitt
20c1c74116 Fix issues with validation in admin CP for server variables, closes #780 2017-11-25 13:15:46 -06:00
Dane Everitt
c7c2c1a45e
Implement changes to 2FA system (#761) 2017-11-18 13:35:33 -05:00
Dane Everitt
26eeffd764
Fix bug preventing changing of the server startup on first save attempt. 2017-11-11 15:07:01 -06:00
Dane Everitt
b1f6058e31
Fix daemon key provider service
Handles missing keys if user is an admin or the server owner. Step in the right direction for #733 where all users have their own keys now. Still need to address admin status revocation in order to fully address that issue.
2017-11-05 16:07:50 -06:00
Dane Everitt
2f42396317
Fix bug with permissions including more than one dash, closes #727 2017-11-05 13:42:57 -06:00
Dane Everitt
30ab6ed692
Update PHPCS and other dependencies. 2017-11-05 13:33:42 -06:00
Dane Everitt
6409fffdad
Implement fix to allow root admins to view all servers.
closes #722
2017-11-05 12:38:39 -06:00
Dane Everitt
f5b20e38c4
Fix failing tests due to way nest creation worked 2017-11-04 13:01:54 -05:00
Dane Everitt
233cbfda09
Merge branch 'develop' into feature/fixed-seeders 2017-11-04 12:50:32 -05:00
Dane Everitt
71b90650de
Fix failing test suite 2017-11-04 12:49:05 -05:00
Dane Everitt
f8c89f8331
Add support for seeding nests and eggs 2017-11-03 23:07:18 -05:00
Dane Everitt
3daade7fe5
Fix tests 2017-11-03 18:18:52 -05:00
Dane Everitt
7882250baf
Add more middleware tests 2017-11-03 18:16:49 -05:00
Dane Everitt
133fd17da6
Fix subuser unit tests 2017-11-03 16:52:18 -05:00
Dane Everitt
54228e8124
Fix multiple controller unit test failures 2017-11-03 16:43:28 -05:00
Dane Everitt
7b3393aff9
More middleware tests 2017-11-01 20:45:43 -05:00
Dane Everitt
d844a36167
Begin adding unit tests for middleware 2017-10-29 21:40:34 -05:00
Dane Everitt
fa62a0982e
Refactor startup modification and environment variable services
Better setup, more flexibility, more tests.
2017-10-26 23:49:54 -05:00
Dane Everitt
7022ec788f
Test for server config structure 2017-10-26 20:23:43 -05:00
Dane Everitt
058e490ec4 Implement Panel changes to support internal SFTP subsystem on Daemon (#703) 2017-10-25 00:35:25 -04:00
Dane Everitt
57db949a9c
Tests a'hoy 2017-10-23 21:10:32 -05:00
Dane Everitt
532025a348
Fix tests 2017-10-23 20:12:15 -05:00
Dane Everitt
97dc0519d6
Add database management back to front-end and begin some refactoring
Here we go again boys...
2017-10-18 22:32:19 -05:00
Dane Everitt
5e712f0bb1
Merge branch 'develop' into feature/service-export-import 2017-10-17 21:31:35 -05:00
Dane Everitt
91619101ac
Final test before PR from hell. 2017-10-09 00:30:23 -05:00
Dane Everitt
e01d7497f5
Add ability to update an Egg by re-uploading a file. 2017-10-08 23:50:52 -05:00
Dane Everitt
159ad3079f
Fix existing tests 2017-10-08 15:44:28 -05:00
Dane Everitt
6e02e9491a
Egg tests updated 2017-10-08 15:29:46 -05:00
Dane Everitt
787346525b
Update a batch of failing tests 2017-10-07 23:29:08 -05:00
Anand Capur
b08d6a4b9d
Make config caching less aggressive 2017-10-07 20:00:44 -07:00
Dane Everitt
6b8464ea3a
Nest & Egg management working through the ACP now. 2017-10-07 16:16:51 -05:00
Dane Everitt
df87ea0867
This breaks literally the entire panel. 2017-10-06 23:57:53 -05:00
Dane Everitt
675e780946
Fix test failures 2017-10-06 00:16:22 -05:00
Dane Everitt
29cfae86b1 Merge branch 'develop' into feature/service-export-import 2017-10-05 00:17:17 -05:00
Dane Everitt
fbd5c25ed0
Finalize tests 2017-10-04 23:52:25 -05:00
Dane Everitt
609bf32843
Add test for service option exporter 2017-10-04 23:42:04 -05:00
Dane Everitt
d95a63c09b
Today Dane learned about Mockery::subset, tomorrow we take over Canada.
In other news, why could no one have mentioned this a few months ago. Would have been nice.
2017-10-04 22:41:15 -05:00
Dane Everitt
29ac1662b6
Fix failing tests 2017-10-03 23:54:24 -05:00
TrixterTheTux
6482f79088 Grant execute privilege (#655)
closes #654
2017-10-03 12:53:28 -10:00
Dane Everitt
b1834307d5
Update demon routes to use /v1/ 2017-09-30 21:00:24 -05:00
Dane Everitt
1216f950e2
Prevent deletion of options that have children attached to them.
closes #562
2017-09-30 12:54:09 -05:00
Dane Everitt
d5bf8734ef
Add unit tests for RunTaskJob. 2017-09-30 12:40:07 -05:00
Dane Everitt
fb7ef2d775
test post please ignore 2017-09-26 22:54:34 -05:00
Dane Everitt
65d63804ab
Pass in what the test says it passes in. 2017-09-26 22:23:19 -05:00
Dane Everitt
774c9680a3
More test suite coverage 2017-09-26 22:16:26 -05:00
Dane Everitt
8908a758ca
More tests for daemon keys 2017-09-26 20:49:05 -05:00
Dane Everitt
85e35f0bdf
More tests 2017-09-25 23:46:36 -05:00
Dane Everitt
fb8a26f141
Merge branch 'develop' into feature/api-daemon-changes 2017-09-25 21:46:44 -05:00
Dane Everitt
e56f4cdd33
Update license headers on files. 2017-09-25 21:43:01 -05:00
Dane Everitt
dd456a4c9c
Fix all currently failing tests 2017-09-24 22:28:16 -05:00
Dane Everitt
6e5b0b8027
Update command unit tests to use helper functions 2017-09-22 00:30:09 -05:00
Dane Everitt
8df5d5beaf
Remove unnecessary test and cleanup rebuild command 2017-09-19 22:15:52 -05:00
Dane Everitt
ccda2b63fa
Add more CLI commands for panel management 2017-09-19 22:10:14 -05:00
Dane Everitt
c5f2dfd6f6
Begin adding schedule processing jobs. 2017-09-16 23:10:00 -05:00
Dane Everitt
4de326ad02
Add command to disable 2FA for a user account. 2017-09-16 18:50:12 -05:00
Dane Everitt
c46f2cb274
More command tests 2017-09-16 17:39:52 -05:00
Dane Everitt
12ba96bd42
Add unit tests for user management commands 2017-09-16 01:45:56 -05:00
Dane Everitt
22459a877a
Add test for make user command and add admin option 2017-09-15 23:46:22 -05:00
Dane Everitt
a498bbc7d5
Move location service to match other services 2017-09-15 00:16:03 -05:00
Dane Everitt
a8560b720a
Tests for global helper functions 2017-09-14 23:18:01 -05:00
Dane Everitt
4e5398fb6b
Add tests for schedule stuff 2017-09-14 23:02:31 -05:00
Dane Everitt
a8c4d6afdb
Update random ID method to use str_random and not random_bytes
The use of random_bytes in combination with bin2hex was producing a lot of duplicate keys when tested in batches of 10k (anywhere from 2 to 6). The use of str_random yielded no duplicates even at scales of 100k keys that were 8 characters.
2017-09-13 23:07:02 -05:00
Dane Everitt
f157c06d04
Fix PHPCS to order by length not alphabetical 2017-09-04 19:07:00 -05:00
Dane Everitt
dc310ffdea
Finish subuser controller 2017-09-04 18:12:13 -05:00
Dane Everitt
7222754580
Merge branch 'develop' of https://github.com/Pterodactyl/Panel into develop 2017-09-04 14:34:40 -05:00
Dane Everitt
b12f6f1156
Tests for RemoteRequestController 2017-09-04 14:34:38 -05:00
Dane Everitt
8f14ee989d Apply fixes from StyleCI 2017-09-03 21:41:03 +00:00
Dane Everitt
54554465f2
Add more front-end controllers, language file cleanup 2017-09-03 16:32:52 -05:00
Dane Everitt
4532811fcd
Improved middleware, console page now using new setup 2017-09-02 21:35:33 -05:00
Dane Everitt
37508a370d
Finish up unit tests for base controllers 2017-09-02 18:56:15 -05:00
Dane Everitt
4203cdcb77
Merge branch 'develop' of https://github.com/Pterodactyl/Panel into develop 2017-09-02 00:21:17 -05:00
Dane Everitt
53d1182645
Add unit tests for API key controller 2017-09-02 00:21:15 -05:00
Dane Everitt
30660cfac2 Apply fixes from StyleCI (#609) 2017-08-30 21:14:20 -05:00
Dane Everitt
e045ef443a
Should wrap up the base landing page stuff for accounts, next step is server rendering 2017-08-30 21:11:14 -05:00
Dane Everitt
67ac36f5ce
Refactor obscure service names to be clearer 2017-08-27 15:10:51 -05:00
Dane Everitt
1e1eac1b9c Apply fixes from StyleCI (#607) 2017-08-27 14:55:25 -05:00
Dane Everitt
f451e4dc47
Begin unit tests for repositories 2017-08-26 19:58:24 -05:00
Dane Everitt
72735c24f7
Complete move from old repository to new repository structure! 2017-08-26 18:08:11 -05:00
Dane Everitt
2cabb61b54
Add subuser deletion service 2017-08-26 13:31:18 -05:00
Dane Everitt
74ea1aa0aa
Push subuser creation service 2017-08-23 21:34:11 -05:00
Dane Everitt
3ee5803416
Massive PHPCS linting 2017-08-21 22:10:48 -05:00
Dane Everitt
b2ec9960a1
Unit tests for pack service 2017-08-21 21:00:14 -05:00
Dane Everitt
2e3476298d
Add test for pack exporting 2017-08-20 20:02:24 -05:00
Dane Everitt
47eec0398d
Fix broken tests due to grapping around... 2017-08-20 19:51:15 -05:00
Dane Everitt
9d3dca87f2
Begin moving packs to new service mechanisms, refactor exceptions for services 2017-08-18 22:19:06 -05:00
Dane Everitt
46cb71e69d Apply fixes from StyleCI (#590) 2017-08-15 23:21:01 -05:00
Dane Everitt
1260a8384a
Initial implementation of controller unit tests. 2017-08-15 23:16:00 -05:00