Skip to content

Commit 2d58e8a

Browse files
committed
install solid and run server
1 parent d87a824 commit 2d58e8a

3 files changed

Lines changed: 43 additions & 8 deletions

File tree

src/Dockerfile

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,13 @@
11
FROM node:10-alpine
22

3-
WORKDIR /opt/solid
3+
RUN npm install -g solid-server
44

5-
USER node
5+
ENV SOLID_HOME=/opt/solid
6+
ENV PROCESS_USER=node
7+
8+
WORKDIR ${SOLID_HOME}
9+
RUN chown ${PROCESS_USER}:${PROCESS_USER} ${SOLID_HOME}
10+
11+
USER ${PROCESS_USER}
12+
13+
CMD ["solid", "start"]

test/test_image_foundations.py

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,15 +15,18 @@ def container(client, image):
1515
yield container
1616
container.remove(force=True)
1717

18-
def test_solid_home_dir_exists(host):
19-
assert host.file("/opt/solid").is_directory
18+
def test_current_user_is_node(host):
19+
assert host.user().name == "node"
20+
assert host.user().group == "node"
21+
22+
def test_solid_home_dir_exists_and_owned_by_node(host):
23+
solid_root = host.file("/opt/solid")
24+
assert solid_root.is_directory
25+
assert solid_root.user == "node"
26+
assert solid_root.group == "node"
2027

2128
def test_node_command_is_available(host):
2229
assert host.exists("node")
2330

2431
def test_node_version_is_10(host):
2532
assert host.check_output("node --version").startswith('v10')
26-
27-
def test_current_user_is_node(host):
28-
assert host.user().name == "node"
29-
assert host.user().group == "node"

test/test_solid_server.py

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
import docker
2+
import pytest
3+
4+
testinfra_hosts = ['docker://test_container']
5+
6+
@pytest.fixture(scope="module", autouse=True)
7+
def container(client, image):
8+
container = client.containers.run(
9+
image.id,
10+
name="test_container",
11+
detach=True,
12+
tty=True
13+
)
14+
yield container
15+
container.remove(force=True)
16+
17+
def test_solid_command_is_available(host):
18+
assert host.exists("solid")
19+
20+
def test_solid_is_running(host):
21+
solid = host.process.get(comm="node")
22+
assert solid.args == "node /usr/local/bin/solid start"
23+
assert solid.user == "node"
24+
assert solid.group == "node"

0 commit comments

Comments
 (0)