Merge pull request #73063 from minijackson/shiori-things
shiori: update modSha256, update test to python, do more tests
This commit is contained in:
commit
3928e7f6b1
3 changed files with 72 additions and 7 deletions
|
@ -244,6 +244,7 @@ in
|
|||
rxe = handleTest ./rxe.nix {};
|
||||
samba = handleTest ./samba.nix {};
|
||||
sddm = handleTest ./sddm.nix {};
|
||||
shiori = handleTest ./shiori.nix {};
|
||||
signal-desktop = handleTest ./signal-desktop.nix {};
|
||||
simple = handleTest ./simple.nix {};
|
||||
slim = handleTest ./slim.nix {};
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import ./make-test.nix ({ lib, ...}:
|
||||
import ./make-test-python.nix ({ pkgs, lib, ...}:
|
||||
|
||||
{
|
||||
name = "shiori";
|
||||
|
@ -8,10 +8,74 @@ import ./make-test.nix ({ lib, ...}:
|
|||
{ ... }:
|
||||
{ services.shiori.enable = true; };
|
||||
|
||||
testScript = ''
|
||||
$machine->waitForUnit('shiori.service');
|
||||
$machine->waitForOpenPort('8080');
|
||||
$machine->succeed("curl --fail http://localhost:8080/");
|
||||
$machine->succeed("curl --fail --location http://localhost:8080/ | grep -qi shiori");
|
||||
testScript = let
|
||||
authJSON = pkgs.writeText "auth.json" (builtins.toJSON {
|
||||
username = "shiori";
|
||||
password = "gopher";
|
||||
remember = 1; # hour
|
||||
owner = true;
|
||||
});
|
||||
|
||||
insertBookmark = {
|
||||
url = "http://example.org";
|
||||
title = "Example Bookmark";
|
||||
};
|
||||
|
||||
insertBookmarkJSON = pkgs.writeText "insertBookmark.json" (builtins.toJSON insertBookmark);
|
||||
in ''
|
||||
import json
|
||||
|
||||
machine.wait_for_unit("shiori.service")
|
||||
machine.wait_for_open_port(8080)
|
||||
machine.succeed("curl --fail http://localhost:8080/")
|
||||
machine.succeed("curl --fail --location http://localhost:8080/ | grep -qi shiori")
|
||||
|
||||
with subtest("login"):
|
||||
auth_json = machine.succeed(
|
||||
"curl --fail --location http://localhost:8080/api/login "
|
||||
"-X POST -H 'Content-Type:application/json' -d @${authJSON}"
|
||||
)
|
||||
auth_ret = json.loads(auth_json)
|
||||
session_id = auth_ret["session"]
|
||||
|
||||
with subtest("bookmarks"):
|
||||
with subtest("first use no bookmarks"):
|
||||
bookmarks_json = machine.succeed(
|
||||
(
|
||||
"curl --fail --location http://localhost:8080/api/bookmarks "
|
||||
"-H 'X-Session-Id:{}'"
|
||||
).format(session_id)
|
||||
)
|
||||
|
||||
if json.loads(bookmarks_json)["bookmarks"] != []:
|
||||
raise Exception("Shiori have a bookmark on first use")
|
||||
|
||||
with subtest("insert bookmark"):
|
||||
machine.succeed(
|
||||
(
|
||||
"curl --fail --location http://localhost:8080/api/bookmarks "
|
||||
"-X POST -H 'X-Session-Id:{}' "
|
||||
"-H 'Content-Type:application/json' -d @${insertBookmarkJSON}"
|
||||
).format(session_id)
|
||||
)
|
||||
|
||||
with subtest("get inserted bookmark"):
|
||||
bookmarks_json = machine.succeed(
|
||||
(
|
||||
"curl --fail --location http://localhost:8080/api/bookmarks "
|
||||
"-H 'X-Session-Id:{}'"
|
||||
).format(session_id)
|
||||
)
|
||||
|
||||
bookmarks = json.loads(bookmarks_json)["bookmarks"]
|
||||
if len(bookmarks) != 1:
|
||||
raise Exception("Shiori didn't save the bookmark")
|
||||
|
||||
bookmark = bookmarks[0]
|
||||
if (
|
||||
bookmark["url"] != "${insertBookmark.url}"
|
||||
or bookmark["title"] != "${insertBookmark.title}"
|
||||
):
|
||||
raise Exception("Inserted bookmark doesn't have same URL or title")
|
||||
'';
|
||||
})
|
||||
|
|
|
@ -4,7 +4,7 @@ buildGoModule rec {
|
|||
pname = "shiori";
|
||||
version = "1.5.0";
|
||||
|
||||
modSha256 = "142raxqh6mipw0dyhzgc8ha6vn74wdin25qrl1nkd68mpcvsbblg";
|
||||
modSha256 = "1z6q5lv0j433p8lc3nxlw1rds5x1kvs1vzl63jf3disxw7ppyai3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "go-shiori";
|
||||
|
|
Loading…
Reference in a new issue