Skip to content

Commit

Permalink
WIP
Browse files Browse the repository at this point in the history
  • Loading branch information
ElianHugh committed Jun 19, 2024
1 parent afa31be commit 892abad
Show file tree
Hide file tree
Showing 6 changed files with 30 additions and 35 deletions.
4 changes: 0 additions & 4 deletions R/engine.R
Original file line number Diff line number Diff line change
Expand Up @@ -51,10 +51,6 @@ run_engine <- function(engine) {
}

kill_engine <- function(engine) {
# technically, if we are killing the engine,
# we don't want to close the
# publlisher because we might reuse it
#close(engine$publisher)
kill_runner(engine)
}

Expand Down
5 changes: 5 additions & 0 deletions TODO.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,3 +15,8 @@
## 7

- Nanonext is currently only used because I want an async connection for the local webpage refresh. May not need to use nanonext, considering we fake the protocol on the JS side of things anyway

## 8

- The CLI messages are a bit all over the place, and errors don't always cause
the progress bar to fail
12 changes: 12 additions & 0 deletions tests/testthat/helpers.R
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
new_test_engine <- function() {
new_engine(
config = new_config(
path = system.file("examples", "plumber.R", package = "hotwater")
)
)
}

cleanup_test_engine <- function(engine) {
kill_engine(engine)
close(engine$publisher)
}
7 changes: 2 additions & 5 deletions tests/testthat/test-cli.R
Original file line number Diff line number Diff line change
@@ -1,9 +1,5 @@
test_that("startup/teardown messages don't error", {
engine <- new_engine(
config = new_config(
path = system.file("examples", "plumber.R", package = "hotwater")
)
)
engine <- new_test_engine()
expect_no_error(
suppressMessages(
buildup_engine(engine)
Expand All @@ -14,4 +10,5 @@ test_that("startup/teardown messages don't error", {
teardown_engine(engine)
)
)
cleanup_test_engine(engine)
})
12 changes: 5 additions & 7 deletions tests/testthat/test-engine.R
Original file line number Diff line number Diff line change
Expand Up @@ -19,17 +19,15 @@ test_that("engine reuse", {
)
)
)

cleanup_test_engine(engine)
})

test_that("can kill engine", {
engine <- new_engine(
config = new_config(
path = system.file("examples", "plumber.R", package = "hotwater")
)
)
engine <- new_test_engine()
new_runner(engine)
kill_engine(engine)

expect_false(engine$runner$is_alive())
# expect_true(engine$publisher$state == "closed")

cleanup_test_engine(engine)
})
25 changes: 6 additions & 19 deletions tests/testthat/test-middleware.R
Original file line number Diff line number Diff line change
Expand Up @@ -17,11 +17,7 @@ test_that("middleware injection works", {
})

test_that("middleware injection works with filters", {
engine <- new_engine(
new_config(
path = system.file("examples", "plumber.R", package = "hotwater")
)
)
engine <- new_test_engine()
runner <- suppressMessages(callr::r_bg(
function(config, middleware_filter) {
plumber::pr(config$entry_path) |>
Expand All @@ -48,15 +44,11 @@ test_that("middleware injection works with filters", {
httr2::resp_status()

expect_identical(resp, 200L)
kill_engine(engine)
cleanup_test_engine(engine)
})

test_that("is_plumber_running works", {
engine <- new_engine(
new_config(
path = system.file("examples", "plumber.R", package = "hotwater")
)
)
engine <- new_test_engine()
router <- suppressMessages(callr::r_bg(
function(config) {
plumber::pr(config$entry_path) |>
Expand All @@ -78,20 +70,15 @@ test_that("is_plumber_running works", {
}
router$kill_tree()
expect_lt(i, 20L, label = "loop iterations")
kill_engine(engine)
cleanup_test_engine(engine)
})

test_that("autoreloader is attached", {
engine <- new_engine(
new_config(
path = system.file("examples", "plumber.R", package = "hotwater")

)
)
engine <- new_test_engine()
new_runner(engine)
resp <- httr2::request(sprintf("localhost:%s", engine$config$port)) |>
httr2::req_perform() |>
httr2::resp_body_html()
expect_true(grepl(resp, pattern = "<script>"))
kill_engine(engine)
cleanup_test_engine(engine)
})

0 comments on commit 892abad

Please sign in to comment.