Commit Graph
100 Commits
Author SHA1 Message Date
shockrah 85acc6a309 Helper functions for other tests
There are kinda random and really just push away seams from the UT's themselves
2020-08-12 19:48:42 -07:00
shockrah 14f91e2240 first integrated unit test to start replacing bash test suite 2020-08-12 19:48:09 -07:00
shockrah da01c13ac5 removed ancient todo 2020-08-11 20:03:42 -07:00
shockrah 5d1b95bec6 making routes::is_open behavior a lot more clear
moved /join to be handled by the dynamic path handler
2020-08-11 19:43:05 -07:00
shockrah 32ee49ed08 adding some dynamic route basees
new feature to check for open routes
2020-08-10 22:34:26 -07:00
shockrah 157d133317 join via invite seems to be scaffolded properly but now requires testing 2020-08-10 21:48:44 -07:00
shockrah 2c6cdf9282 Removed dead code and removed frivilous import alias 2020-08-10 21:48:19 -07:00
shockrah 8a91d51dc6 Invite struct has been simplified
Invite::as_json_str/from_tuple changed to reflect new field changes
+ insert_new_invite: short and sweet error handling by the caller for now
* create_invite  now named `create`
+ reduced code complexity in invites::create so its very straight forward to read(imo)
2020-08-10 18:06:27 -07:00
shockrah 3e91d42f94 passing in corret params to invite endpoints
removed random '{' that was in the invites::create match arm
2020-08-10 18:02:01 -07:00
shockrah 996a08f58a Visual cleanup but also we're now dictating in main how the invites api should work now 2020-08-10 17:17:36 -07:00
shockrah f0209217de ignoring diesel.toml from diesel as we dont use it at all 2020-08-10 17:16:51 -07:00
shockrah 7131e1acf5 new schema which ultimately simplfies things for us 2020-08-10 17:16:08 -07:00
shockrah 489fdb69b8 target/ directory was being ignore so we override that in the cache section
also changed the key to the ci_job_name
diesel setup now happens before we build the release binary
2020-08-10 17:15:29 -07:00
shockrah 0cee67ce69 using release builds instead of debug builds to make tests run faster
Added /server/target to cache
2020-08-10 14:04:58 -07:00
shockrah 7895eca99e fixed indentation issue 2020-08-10 13:45:47 -07:00
shockrah 8986c23dbf bash script now waits for the rust process to create its server response log before starting tests 2020-08-10 13:45:03 -07:00
shockrah e4c6c46061 Proper build caching and updating needs field for testing stage 2020-08-10 13:44:18 -07:00
shockrah baae2caaf0 testing cargo run as it never really starts up 2020-08-09 23:39:03 -07:00
shockrah ed8f15b17c fixed broken array for needs field in testing stage 2020-08-09 23:29:02 -07:00
shockrah bae3e02b48 adding build caching and delaying tests as cargo is slow to start up sometimes 2020-08-09 23:28:04 -07:00
shockrah 776ceb83c9 send_message was expecting the wrong parameters 2020-08-08 21:31:07 -07:00
shockrah 47cc48575d added missing keys in json params to queries 2020-08-08 21:30:10 -07:00
shockrah 1d5224242e new sample key using the new encryption to get past the auth barrier 2020-08-08 00:33:31 -07:00
shockrah 0d7e4e15b9 removed dead code
insert_new_member returns the raw secret ont whats stored in the db
2020-08-08 00:32:46 -07:00
shockrah b4ec7005c7 removed more dead code 2020-08-08 00:31:12 -07:00
shockrah 537ba957e4 removed dead code 2020-08-08 00:30:45 -07:00
shockrah b3d603eecc verification of secrets now has clearer fallback 2020-08-08 00:30:35 -07:00
shockrah 90e6496786 Auth wall now uses id for lookups
Secret is now checked against bcrypt, default cost now 13

New AuthReason::BadKey
	Meant to give us more specific auth responses but main isn't dealing w/ it yet
2020-08-07 21:23:38 -07:00
shockrah 016d81b82b oops forgot to change mains path 2020-08-06 20:28:05 -07:00
shockrah 500744be05 missed cd into the tests directory oops 2020-08-06 20:17:19 -07:00
shockrah 2677390b58 First pass of cli-opts testing 2020-08-06 20:06:30 -07:00
shockrah e94668955e Merging new cli options into testing to ensure cli opts are working in
pipelines
2020-08-06 20:02:48 -07:00
shockrah fd7a56403b fixed start server command as its value is always None but true 2020-08-06 20:02:29 -07:00
shockrah c8ee118904 use serde_json to dump out owner accounts when theyre built by hand 2020-08-06 19:59:31 -07:00
shockrah 19ee2c2577 switching to serde_json for some heavy lifting of json conversions 2020-08-06 19:56:14 -07:00
shockrah bb426897d2 adding more serde dependancies 2020-08-06 19:55:42 -07:00
shockrah 626f16afb8 guarding so that _a_ flag is required for us to do anything 2020-08-06 19:32:31 -07:00
shockrah 1b8e52e3e0 Moved new member for admins logic to members module
More generally members now has a proper looking insert new member function

Added new combinational permision for basic users

Reworked DATBASE_URL initialization for the API's environment variable
Nearly there to conditionally running the server, only need to add one more guard
2020-08-06 19:09:59 -07:00
shockrah c1b50bd36a adding helper function to aid in creation of members as opt create owner requires 2020-08-06 16:31:18 -07:00
shockrah ba433c5abe fixing mysql::params issue and ignoring usused Result from library 2020-08-06 16:00:42 -07:00
shockrah e0989a888e exposed fields of struct Member as public 2020-08-05 23:14:35 -07:00
shockrah 99ccb14bf2 added code for creating new owner accounts, and for dealing with some commandline arguments 2020-08-05 23:14:00 -07:00
shockrah 34ac3709f7 reverting use of salt field as its pre-concatenated in our secret field 2020-08-05 22:52:45 -07:00
shockrah 45120330db Adding required deps for creating proper users 2020-08-05 22:49:11 -07:00
shockrah 4679179abf docker image should hopefully have pkg-config installed now 2020-08-02 21:57:39 -07:00
shockrah 59d84ae618 updated docker version to use 2020-08-02 21:25:37 -07:00
shockrah 38fe8859ea updated logo 2020-08-02 21:20:49 -07:00
shockrah 5a14df643a kawaii logo and updated pipeline job to use custom docker image 2020-08-02 20:45:46 -07:00
shockrah 5ab40f2b50 basic send_message test 2020-08-02 18:38:36 -07:00
shockrah 6416370e95 Message changenotes
* send_message fails when a non-existant channel is specified
* send_message now works with existant channel
* send_message: notifies client of bad channel parameters
* send_message: sends a generic 500 on every other error
2020-08-02 18:38:07 -07:00
shockrah d588128b9e Channel changenotes:
* create channel now responds correctly given various parameters
* insert channel now errors out properly with ? syntax
* new uses added to align with sql types
2020-08-02 18:32:02 -07:00
shockrah df395e3b50 updated foreign key name in messages schema 2020-08-02 16:38:50 -07:00
shockrah 014b6a06c8 oops 2020-08-01 18:57:49 -07:00
shockrah a00dd2b442 Merge branch 'testing' into messaging 2020-07-31 22:10:31 -07:00
shockrah a24126034b removed unused type 2020-07-31 22:10:27 -07:00
shockrah 26eeb4fa2c using official nightly build of rust docker image 2020-07-31 21:51:51 -07:00
shockrah c8055e07cc main is now setup to handle pipeline environments and regular .env filled environments 2020-07-31 21:49:07 -07:00
shockrah ab981f68d0 updated syntax 2020-07-31 00:15:04 -07:00
shockrah 9342f5a2ea adding missing key 2020-07-31 00:10:50 -07:00
shockrah fb2181aa39 moving pipeline script to root 2020-07-31 00:10:15 -07:00
shockrah de4493c7ab setting ci, thisi commit will fail for now 2020-07-31 00:08:49 -07:00
shockrah 000a75c81f user name+id now added to params and channels table now accepts channel_name 2020-07-30 23:50:03 -07:00
shockrah b8c4cee57f send message now build properly w/ no warns 2020-07-30 23:31:20 -07:00
shockrah 40ade4ebcc current build passing all tests for channel creation/deletion 2020-07-29 19:54:29 -07:00
shockrah 34a04f7887 channel deletion seems to pass basic unit tests 2020-07-29 19:46:44 -07:00
shockrah 362eb53650 tabs before some messages for clearer reasoning on what happen on each request 2020-07-29 19:44:52 -07:00
shockrah 7ea3aef1cb removing more legacy code 2020-07-29 00:38:30 -07:00
shockrah de6c8af19d localhost was literall mispelled 2020-07-29 00:35:34 -07:00
shockrah 8d520117d4 new channel create/delete routes added 2020-07-29 00:28:09 -07:00
shockrah 677d0a3b36 removing legacy code 2020-07-29 00:26:37 -07:00
shockrah 351a9ba30c list channels and create channels behaving properly based on inputs, delete_channel not working just yet 2020-07-29 00:26:19 -07:00
shockrah c7922d4249 channel names must now be unique 2020-07-29 00:21:33 -07:00
shockrah b6db34f28f option to always show body of response added 2020-07-28 22:45:52 -07:00
shockrah b5041a4f8d fresh cargo lock 2020-07-28 22:15:04 -07:00
shockrah 3612f5835c testing around channel deletion confirmed working 2020-07-27 21:04:13 -07:00
shockrah f0c7c9c69b list channels now nearly completely tested
pattern for testing getting fleshed out for real now
2020-07-27 16:26:40 -07:00
shockrah e1b0e013b2 curl macro to remove code noise elsewhere 2020-07-27 16:16:52 -07:00
shockrah cb8b4cece1 better error logging 2020-07-27 16:16:37 -07:00
shockrah c490343442 list_all_channels now serves as a good template to use for other funcs to follow suit 2020-07-27 15:43:41 -07:00
shockrah fb63007a85 moved common common func off to main 2020-07-27 15:43:00 -07:00
shockrah f536674e73 more stuff for the sample env file 2020-07-21 21:33:12 -07:00
shockrah 1eed2f4027 basic invites manager chronjob thing 2020-07-21 18:13:33 -07:00
shockrah 6a9f91429e helpful setup script for creating the dev sql user in testing 2020-07-21 15:00:06 -07:00
shockrah 84d3464f6c base dependancies for invites manager 2020-07-21 14:47:03 -07:00
shockrah d9a6ea30a7 invites now has a max_uses column and less strict column requirements 2020-07-21 14:30:23 -07:00
shockrah 99507302f9 Removing api tests form members mod as those are done with curl in tests/
Base member creation being added in this commit notes to follow

struct Member has had its field types changed to db_types::* types
Member::to_json was added to support simple json serialization into responses
struct InsertableMember added because `id` is generated by SQL for us
- this means we have to do two queries 1 to insert and 2 to fetch
- mysql_async does not provide an inlined way of fetching a recently added row

func general_new_user is only checking for a `name`parameter
- falls back to a basic default name for those that don't set a name on jooin
- handles its  own sub errors so the main dispatcher doesn't care about after move
2020-07-13 21:59:28 -07:00
shockrah 46403913a4 logging bad auth requests 2020-07-13 21:47:00 -07:00
shockrah 1eab32889a more testing for channel list 2020-07-13 21:41:04 -07:00
shockrah 2b70d37370 start of basic api tests, all tests still individually runnable 2020-07-13 21:14:57 -07:00
shockrah 0df6702a9d adding a decent structure for testing the restful api from this point forward 2020-07-13 20:44:06 -07:00
shockrah 73f69cec48 channels list route passing proper input pass 2020-07-13 20:35:04 -07:00
shockrah 0a0967d196 fixed auth module not using str version of the secret key 2020-07-13 20:31:14 -07:00
shockrah ed6c19314a defaults for Dynamic routes in case thigns don't go well 2020-07-13 19:42:59 -07:00
shockrah 1810e5ebc8 removing unused enum members 2020-07-13 19:42:13 -07:00
shockrah d013afe054 removing fluff module and adding sensible database type aliases 2020-07-13 19:40:37 -07:00
shockrah 5c2c4abd76 making auth wall a little bit more lenient for now until testing has some reasonable methodology 2020-07-13 19:40:13 -07:00
shockrah 65ccf70091 adding secret as a primary key in members table 2020-07-13 19:39:35 -07:00
shockrah 3da6c487df adding funcs to differentiate dynamic routes 2020-07-12 22:42:50 -07:00
shockrah a141974904 container module for later permission flags 2020-07-12 22:27:20 -07:00
shockrah 7a64c64e98 aliases for common translational types for sql 2020-07-12 18:57:03 -07:00