David Dworken
339b115542
Fix version comparison logic
2022-04-16 21:39:40 -07:00
David Dworken
158f08f5c6
Improved update flow
...
Using the previously added new API endpoint, the update flow can now skip updates if the latest version is already installed. This also improves the output by making it so update can print the version. Also improved the error handling.
2022-04-16 20:50:02 -07:00
David Dworken
3d7af0cd4b
Add SLSA verification of updated binary
...
Currently the SLSA verifier is meant to be used a standalone binary. I copied a bit of code from their main (and imported the rest of their code as a library) in order to support embedding it as a library. This ensures that the updated hishtory passes SLSA L3.
2022-04-16 16:02:07 -07:00
David Dworken
def83d6b0e
Add verbose flag for the status subcommand
2022-04-16 10:46:57 -07:00
David Dworken
62a83b76b1
Add a test for displaying a table
2022-04-16 01:09:25 -07:00
David Dworken
a9af51f5b2
Improved tests
2022-04-16 00:56:08 -07:00
David Dworken
c369661e53
More server-side logging + client-side logging
2022-04-16 00:44:47 -07:00
David Dworken
6df100ebbd
Fix variable collision in tests
2022-04-15 22:54:38 -07:00
David Dworken
b9204bf649
add a test for a complex command getting recorded
2022-04-15 18:24:58 -07:00
David Dworken
5b59141c3a
optimize test execution time by only building the client once + add Makefile target for action tests
2022-04-15 18:12:26 -07:00
David Dworken
682a063e95
making tests pass on actions by grepping out pipefail which is flakily recorded due to actions not recording line numbers
2022-04-15 18:06:48 -07:00
David Dworken
ab0d9d4c90
optimize test runtime by running a single server instance per-file rather than one per test
2022-04-15 11:20:23 -07:00
David Dworken
d1d78de0e4
whoops, inverted boolean condition so the test still failed
2022-04-15 00:17:02 -07:00
David Dworken
fd2a642374
Make the test pass on github actions
2022-04-15 00:10:22 -07:00
David Dworken
b09b725f49
Properly skip recording of commands prefixed with a space to match bash's history behavior
2022-04-15 00:04:49 -07:00
David Dworken
dc6fb6a47b
Refactor tests to make them non-flakey and pass on actions
...
This required adding the ability to have hishtory run synchronously to avoid reconditions. I also added additional waiting code. Also a whole bunch of new tests and disabled gorm's default logger which also caued flakeyness
2022-04-14 20:18:49 -07:00
David Dworken
24db9d825e
integration test running on actions
2022-04-13 21:48:52 -07:00
David Dworken
e854c8304f
TestUpdate running in github actions
2022-04-13 21:34:18 -07:00
David Dworken
e2b5fd13bf
tests passing inside act, hopefully on real actions
2022-04-13 21:30:27 -07:00
David Dworken
908257306e
trying to make the test pass
2022-04-12 22:36:02 -07:00
David Dworken
6e52c10474
continuing to debug failures on actions
2022-04-12 21:24:25 -07:00
David Dworken
8ed2cea004
unclear why the install command isn't getting recorded on actions, but other ones are...
2022-04-12 00:02:14 -07:00
David Dworken
807933b548
Updated tests, and maybe they'll pass on actions
2022-04-11 23:48:51 -07:00
David Dworken
9f1b258a7f
seems like it worked, converting other tests
2022-04-11 23:30:24 -07:00
David Dworken
ea51601985
another attempt at fixing the timestamp tests to run with UTC
2022-04-11 23:27:47 -07:00
David Dworken
fb52b98379
Swap generous date parsing to using a library
2022-04-11 23:22:49 -07:00
David Dworken
7d2eb878ac
the bug is with UTC, does this fix it?
2022-04-11 23:02:46 -07:00
David Dworken
d39ca42cea
Attempt to fix broken timezone test
2022-04-11 22:56:23 -07:00
David Dworken
5325fc75ae
Add negative conditions to search queries + tests + better error messages by including filename:line in error messages
2022-04-11 22:36:52 -07:00
David Dworken
970e5d75db
add tests for user and hostname atoms + moved server tests to server_test.go
2022-04-10 17:38:20 -07:00
David Dworken
97670c92f5
Display the hostname in the table
2022-04-09 14:52:10 -07:00
David Dworken
5c508e7cfc
Fix broken test from version change
2022-04-09 14:48:17 -07:00
David Dworken
2bb06b568a
Add version to binary
2022-04-09 14:37:21 -07:00
David Dworken
cfa41c676c
Added info to README + two todos for future ideas
2022-04-09 14:26:43 -07:00
David Dworken
ac18b3d93e
more tests + some todos where I could add even more
2022-04-09 13:09:46 -07:00
David Dworken
b92087fc1d
Try again to fix timezone test
2022-04-09 12:57:58 -07:00
David Dworken
c52a7f4ae6
skip the update tests in actions
2022-04-09 12:53:34 -07:00
David Dworken
c8ba560e0c
handle github api rate limit, tests for the update command, and fix timezone bug in tests
2022-04-09 12:50:01 -07:00
David Dworken
99794191dc
whoops, had the test skipping logic in the wrong order
2022-04-09 12:31:31 -07:00
David Dworken
5496dc3a5e
skip tests that fail on actions with a TODO
2022-04-09 12:27:24 -07:00
David Dworken
e9d19eb782
fix hardcoded username in tests + another attempt at enabling bash job control + test that building docker containers works
2022-04-09 12:19:01 -07:00
David Dworken
3619bd5447
explicitly enable bash job mode + don't call gvm cause it isn't necessary
2022-04-09 12:04:13 -07:00
David Dworken
9f20074a4f
change tests to not hardcode the local path to source on my laptop
2022-04-09 11:55:00 -07:00
David Dworken
2a083b7d06
add code to auto-update the version tag in the server + tests
2022-04-08 23:47:13 -07:00
David Dworken
108e1526b8
trying again with ldflags + fixed update url
2022-04-08 22:56:44 -07:00
David Dworken
966f73757b
moved client/client.go to hishtory.go to support slsa l3 border
2022-04-08 21:17:11 -07:00
David Dworken
ee8e0c425d
change username atom to user and update docs
2022-04-08 18:28:31 -07:00
David Dworken
39b9b15d53
implemented after and before atoms w/ tests for them
2022-04-08 18:23:17 -07:00
David Dworken
1adcaeb6cf
added test for query that returns no results
2022-04-07 23:30:31 -07:00
David Dworken
b8240091cd
added tests for exit_code: atom and also made tests actually run with bash strict mode
2022-04-07 23:25:13 -07:00
David Dworken
6d84402bce
first bit of advanced query support
2022-04-07 22:53:39 -07:00
David Dworken
475497d7b7
Message when updated
2022-04-07 22:16:45 -07:00
David Dworken
fccc238b18
Updated index.html
2022-04-07 21:45:41 -07:00
David Dworken
f2e6de2eb3
pre-commit + stricter formatting + pre-commit fixes
2022-04-07 21:40:22 -07:00
David Dworken
c2465d7c99
refactored to move no longer shared things out of the shared/ folder
2022-04-07 21:05:58 -07:00
David Dworken
a8d7ee2cc8
fix CSS + gofmt
2022-04-06 23:17:58 -07:00
David Dworken
581231d0ef
fixed export, added tests for it, made tests more accurate, and excluded things from gitignore
2022-04-06 23:05:30 -07:00
David Dworken
7a6aece6dc
more tests
2022-04-06 22:49:45 -07:00
David Dworken
c48c4dc83f
formatted
2022-04-06 22:44:10 -07:00
David Dworken
1065fff062
refactoring, better tests, commit hash, banner, and tested working locally
2022-04-06 22:43:07 -07:00
David Dworken
684511f4f7
working update
2022-04-06 18:18:46 -07:00
David Dworken
7e51d5fe42
test for 3rd client, and status subcommand
2022-04-06 17:47:21 -07:00
David Dworken
71fc809f9a
tests are passing and getting close now. Need to test the live update flow along with more thorough testing for everything
2022-04-05 23:31:24 -07:00
David Dworken
e2acc6612a
well, it builds :D but still failing all the tests
2022-04-04 22:07:01 -07:00
David Dworken
a523504c40
split into local client and remote client, and add tests
2022-01-08 21:59:28 -08:00
David Dworken
6fbad3a194
init versions pre-split
2022-01-08 20:27:18 -08:00