Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Build ci pipeline #4

Merged
merged 242 commits into from
Nov 27, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
242 commits
Select commit Hold shift + click to select a range
a67bf90
Create main.yml
vrbanecd Oct 11, 2023
26b278a
Update main.yml
vrbanecd Oct 17, 2023
5324e37
Update main.yml
vrbanecd Oct 17, 2023
905b8d7
Update main.yml
vrbanecd Oct 17, 2023
9923a1a
Update main.yml
vrbanecd Oct 17, 2023
0959fb2
Update main.yml
vrbanecd Oct 17, 2023
1f95b69
Update main.yml
vrbanecd Oct 17, 2023
84d0c23
Update main.yml
vrbanecd Oct 17, 2023
b7c67b1
Update main.yml
vrbanecd Oct 17, 2023
2852abf
Update teapot-rpm.sh
vrbanecd Oct 17, 2023
3b6faab
Update main.yml
vrbanecd Oct 17, 2023
b5deef2
Update main.yml
vrbanecd Oct 17, 2023
20ae9de
Update main.yml
vrbanecd Oct 17, 2023
6bd92bd
Update main.yml
vrbanecd Oct 17, 2023
1ac09f8
Update main.yml
vrbanecd Oct 17, 2023
9c2eb04
Update main.yml
vrbanecd Oct 17, 2023
5dc0f28
Update main.yml
vrbanecd Oct 17, 2023
ee7b96c
Update main.yml
vrbanecd Oct 17, 2023
51d196e
Update main.yml
vrbanecd Oct 17, 2023
2cf25f0
Update main.yml
vrbanecd Oct 17, 2023
aca26ab
Update main.yml
vrbanecd Oct 17, 2023
e952627
Building the test part of the CI
vrbanecd Oct 19, 2023
8a28f49
Adjust for CI
vrbanecd Oct 19, 2023
a340e0d
Add openssl and self-signed cert creation
vrbanecd Oct 20, 2023
5d9a450
Update main.yml
vrbanecd Oct 20, 2023
ad8a6d9
Update main.yml
vrbanecd Oct 20, 2023
19c4a67
Add dependencies
vrbanecd Oct 20, 2023
aa13475
Update main.yml
vrbanecd Oct 20, 2023
4fd2e0f
Update main.yml
vrbanecd Oct 20, 2023
53f4e2c
Update main.yml
vrbanecd Oct 20, 2023
a542d8e
Update main.yml
vrbanecd Oct 20, 2023
0520503
Add python dependencies.yml
vrbanecd Oct 20, 2023
21228e4
Update main.yml
vrbanecd Oct 20, 2023
ebd4c6a
Install python dependencies
vrbanecd Oct 20, 2023
b1c5530
Update main.yml
vrbanecd Oct 20, 2023
1cff42c
main.yml
vrbanecd Oct 23, 2023
7f5974b
Merge branch 'Build-CI-pipeline' of github.com:interTwin-eu/teapot in…
vrbanecd Oct 23, 2023
09881ec
Adding robot framework
vrbanecd Oct 23, 2023
5de3545
Update
vrbanecd Oct 23, 2023
3ed9f0f
Update
vrbanecd Oct 23, 2023
9674b03
Debug
vrbanecd Oct 24, 2023
6a3d6f5
Debug
vrbanecd Oct 24, 2023
bcba72d
Debug
vrbanecd Oct 24, 2023
da4154d
Adding robot packages
vrbanecd Oct 24, 2023
8e5f4d9
Update
vrbanecd Oct 24, 2023
b29aecf
Switch to image with dependencies preinstalled
vrbanecd Oct 24, 2023
c199924
First test
vrbanecd Oct 25, 2023
984382f
Add oidc-agent
vrbanecd Oct 25, 2023
06321e7
Add oidc-agent
vrbanecd Oct 25, 2023
ffcf7fe
Add oidc-agent
vrbanecd Oct 25, 2023
e777950
Configure oidc-agent
vrbanecd Oct 25, 2023
aa05766
Configure oidc-agent
vrbanecd Oct 25, 2023
e1148b3
configure keycloak
vrbanecd Oct 25, 2023
f692bae
Configure Keycloak
vrbanecd Oct 25, 2023
016e122
Configure Keycloak
vrbanecd Oct 25, 2023
855f1c4
Debug
vrbanecd Oct 25, 2023
e565c7a
Configure Keycloak
vrbanecd Oct 26, 2023
a05c330
Configure Keycloak
vrbanecd Oct 26, 2023
611a412
Configure Keycloak
vrbanecd Oct 26, 2023
4c7f990
Configure Keycloak
vrbanecd Oct 26, 2023
daf5103
Configure Keycloak
vrbanecd Oct 26, 2023
4dcb8c9
Configure Keycloak
vrbanecd Oct 26, 2023
23bd124
Configure Keycloak
vrbanecd Oct 26, 2023
034a008
Configure Keycloak
vrbanecd Oct 26, 2023
c9dca18
Debug
vrbanecd Oct 26, 2023
1355b4c
Debug
vrbanecd Oct 26, 2023
4c3003d
Debug
vrbanecd Oct 26, 2023
7744b9a
Debug
vrbanecd Oct 26, 2023
0ad23da
Debug
vrbanecd Oct 26, 2023
6f4b4b1
Debug
vrbanecd Oct 26, 2023
708b61b
Debug
vrbanecd Oct 26, 2023
0422675
Debug
vrbanecd Oct 27, 2023
9cc98a0
Debug
vrbanecd Oct 27, 2023
0b17549
Debug
vrbanecd Oct 27, 2023
8a4ccb8
Debug
vrbanecd Oct 27, 2023
0108df7
Debug
vrbanecd Oct 27, 2023
30e9a11
Debug2
vrbanecd Oct 27, 2023
e3c166e
Debug
vrbanecd Oct 27, 2023
2269284
Debug100
vrbanecd Oct 27, 2023
bcff64b
Debug
vrbanecd Oct 27, 2023
e2b8991
Debug 2
vrbanecd Oct 27, 2023
ee4ca33
Test1
vrbanecd Oct 27, 2023
f61b6ad
Test2
vrbanecd Oct 27, 2023
b6f7550
Debug
vrbanecd Oct 27, 2023
a63503e
Test
vrbanecd Oct 27, 2023
607f3bd
Test1
vrbanecd Oct 27, 2023
36a2feb
Debug
vrbanecd Oct 27, 2023
0e25d0a
Debug1
vrbanecd Oct 27, 2023
3bc75fe
Test
vrbanecd Oct 27, 2023
ac768fb
Test
vrbanecd Oct 30, 2023
e429313
Test1
vrbanecd Oct 30, 2023
29164aa
Test
vrbanecd Oct 30, 2023
baa5fef
Add dockerfile with dependencies for testing
vrbanecd Oct 30, 2023
859d72a
Configure Keycloak
vrbanecd Oct 30, 2023
d40823d
Configure Keycloak1
vrbanecd Oct 30, 2023
768bae0
Test1.0
vrbanecd Nov 1, 2023
0403446
Test1.1
vrbanecd Nov 1, 2023
a3d467d
Test1.2
vrbanecd Nov 1, 2023
67760f5
Test1.3
vrbanecd Nov 1, 2023
8ff944b
Test1.4
vrbanecd Nov 1, 2023
ece2c0e
Test1.5
vrbanecd Nov 1, 2023
2d55648
Test1.6
vrbanecd Nov 1, 2023
a5ac3b8
Tet1.7
vrbanecd Nov 1, 2023
0a4056c
Test1.8
vrbanecd Nov 1, 2023
de3b81d
Test1.8.1
vrbanecd Nov 1, 2023
cc493fd
Test1.9
vrbanecd Nov 1, 2023
4b26137
Test1.10
vrbanecd Nov 1, 2023
32b75ff
Test1.11
vrbanecd Nov 1, 2023
e132a31
Test1.12
vrbanecd Nov 1, 2023
b252938
Test1.13
vrbanecd Nov 1, 2023
47b19f4
Test1.14
vrbanecd Nov 1, 2023
c536aad
Test1.15
vrbanecd Nov 1, 2023
94c5f77
Test1.16
vrbanecd Nov 1, 2023
20b6367
Test1.17
vrbanecd Nov 1, 2023
f26a419
Test1.18
vrbanecd Nov 1, 2023
ef7f78d
Test 1.19
vrbanecd Nov 1, 2023
3e4ee32
Test 1.20
vrbanecd Nov 1, 2023
3412154
Test sleep 1
vrbanecd Nov 1, 2023
b089895
test sleep 2
vrbanecd Nov 1, 2023
8fd6a07
Test sleep 3
vrbanecd Nov 1, 2023
44eb7ef
Test sleep 5
vrbanecd Nov 1, 2023
412389a
Test sleep 6
vrbanecd Nov 1, 2023
5d67dbf
Test
vrbanecd Nov 1, 2023
b55cc9e
Test Keycloak delay
vrbanecd Nov 2, 2023
c1fe1a5
Test Keycloak healthcheck
vrbanecd Nov 2, 2023
d0f5eea
Test Keycloak Healthcheck
vrbanecd Nov 2, 2023
32fd788
TestKeycloak
vrbanecd Nov 3, 2023
441d1e1
TestKeycloak1
vrbanecd Nov 3, 2023
2c83378
TestKeycloak1
vrbanecd Nov 3, 2023
ec9010a
Add keycloak/oidc configuration
vrbanecd Nov 3, 2023
f1f98be
Debug
vrbanecd Nov 3, 2023
2602e4a
Debug2
vrbanecd Nov 3, 2023
cf235e5
Test
vrbanecd Nov 3, 2023
652f6da
Test2
vrbanecd Nov 3, 2023
3277b5d
Change to new issuer
vrbanecd Nov 3, 2023
508427a
Add Keycloak Dockerfile
vrbanecd Nov 3, 2023
f214b46
First robot test
vrbanecd Nov 6, 2023
63ea83a
First robot test1
vrbanecd Nov 6, 2023
87a3f30
Add configurations for testing
vrbanecd Nov 6, 2023
9927dcc
Add configurations for testing 2
vrbanecd Nov 6, 2023
d3979a6
Add configurations for testing 2
vrbanecd Nov 6, 2023
0528839
Add configurations for testing
vrbanecd Nov 6, 2023
d841c6e
Add configurations for testing
vrbanecd Nov 6, 2023
76576b1
Add more dependencies to the dockerfile
vrbanecd Nov 6, 2023
5132924
Testing
vrbanecd Nov 6, 2023
f4ebf00
Testing
vrbanecd Nov 6, 2023
e3b9248
Testing
vrbanecd Nov 6, 2023
e89400b
Test1
vrbanecd Nov 7, 2023
08279b7
Test1
vrbanecd Nov 7, 2023
07046c4
Adjust paths for Github Actions
vrbanecd Nov 7, 2023
d468372
Test1
vrbanecd Nov 7, 2023
d0136c1
Change paths for Github Actions
vrbanecd Nov 7, 2023
f00ab97
Test2
vrbanecd Nov 7, 2023
0d43248
Test3
vrbanecd Nov 7, 2023
9a3dee8
Test3
vrbanecd Nov 7, 2023
b59eee2
Test4
vrbanecd Nov 7, 2023
c1267c9
Test5
vrbanecd Nov 7, 2023
2d05897
Debug 1
vrbanecd Nov 7, 2023
7713922
Test new dependencies image
vrbanecd Nov 7, 2023
d75eade
Debug 5
vrbanecd Nov 7, 2023
175b652
Debug 6
vrbanecd Nov 7, 2023
746437b
Debug
vrbanecd Nov 7, 2023
3d04dd9
Test
vrbanecd Nov 7, 2023
f9ef4df
Test1
vrbanecd Nov 7, 2023
8f725e1
Debug
vrbanecd Nov 7, 2023
c93a858
Test
vrbanecd Nov 8, 2023
9190b69
Test1
vrbanecd Nov 8, 2023
002015d
Test3
vrbanecd Nov 8, 2023
d097559
Test4
vrbanecd Nov 8, 2023
8a39948
Test5
vrbanecd Nov 8, 2023
a13592a
Debug
vrbanecd Nov 8, 2023
9eec5dc
Linting
vrbanecd Nov 8, 2023
18ab368
Test1
vrbanecd Nov 8, 2023
6ed15ca
Test1
vrbanecd Nov 8, 2023
4b1a1a5
Debuging
vrbanecd Nov 8, 2023
3a186b7
Debug
vrbanecd Nov 8, 2023
433a16a
Test
vrbanecd Nov 8, 2023
04bb3fa
Test
vrbanecd Nov 8, 2023
3631f57
Test1
vrbanecd Nov 8, 2023
5c8a173
Test
vrbanecd Nov 8, 2023
e5b77f3
TEST
vrbanecd Nov 8, 2023
de07fee
Test
vrbanecd Nov 8, 2023
7da18ce
Linting
vrbanecd Nov 8, 2023
804c06c
Test
vrbanecd Nov 8, 2023
0fd9df9
Test
vrbanecd Nov 8, 2023
c6f0292
test
vrbanecd Nov 8, 2023
2ccbbc4
test
vrbanecd Nov 8, 2023
3eabd97
test
vrbanecd Nov 8, 2023
6244548
linting
vrbanecd Nov 8, 2023
7d78177
test
vrbanecd Nov 8, 2023
a6409f4
test
vrbanecd Nov 8, 2023
48312cf
Test
vrbanecd Nov 8, 2023
7a40e3c
test
vrbanecd Nov 8, 2023
a5dd654
test1
vrbanecd Nov 8, 2023
44ab56e
Debug
vrbanecd Nov 8, 2023
5c87b79
Debug1
vrbanecd Nov 8, 2023
18ff16c
Debug2
vrbanecd Nov 8, 2023
57db532
Debug3
vrbanecd Nov 8, 2023
32a1d5e
test
vrbanecd Nov 8, 2023
035f5e9
test
vrbanecd Nov 8, 2023
35f4d12
test
vrbanecd Nov 8, 2023
fa7b4e0
Test
vrbanecd Nov 8, 2023
985d0a5
test
vrbanecd Nov 9, 2023
2b97a1e
Test1
vrbanecd Nov 9, 2023
a6ebc5d
test
vrbanecd Nov 9, 2023
76b09eb
test
vrbanecd Nov 9, 2023
7c91d16
test
vrbanecd Nov 9, 2023
016542f
test
vrbanecd Nov 9, 2023
963229b
test1
vrbanecd Nov 9, 2023
979dc88
test
vrbanecd Nov 9, 2023
b97b3c2
test
vrbanecd Nov 9, 2023
b2d7562
test
vrbanecd Nov 10, 2023
fe016b0
test
vrbanecd Nov 10, 2023
2b227b6
test
vrbanecd Nov 10, 2023
e64e158
test1
vrbanecd Nov 10, 2023
77e6f39
NewTest
vrbanecd Nov 14, 2023
c88294d
test
vrbanecd Nov 14, 2023
701b1d5
Debug
vrbanecd Nov 14, 2023
b2932ce
Debug1
vrbanecd Nov 14, 2023
f534f20
Test
vrbanecd Nov 14, 2023
0273a7a
Robot tests
vrbanecd Nov 14, 2023
3b3e337
Test
vrbanecd Nov 14, 2023
25e4c05
test1
vrbanecd Nov 14, 2023
3048147
Test2
vrbanecd Nov 14, 2023
a91f340
Test
vrbanecd Nov 14, 2023
ba0f4ff
Test
vrbanecd Nov 14, 2023
0cc11ca
Test1
vrbanecd Nov 14, 2023
53c2095
Test2
vrbanecd Nov 14, 2023
bc048e6
Testing Teapot
vrbanecd Nov 14, 2023
a7ce224
Testing Teapot 1
vrbanecd Nov 14, 2023
6eb11d6
Testing teapot 2
vrbanecd Nov 14, 2023
66a6dfa
Test teapot 4
vrbanecd Nov 14, 2023
3c0b6d2
Test teapot 5
vrbanecd Nov 14, 2023
571691b
Test teapot 6
vrbanecd Nov 14, 2023
49bde29
Test teapot 7
vrbanecd Nov 14, 2023
f26458b
Test
vrbanecd Nov 23, 2023
80576ed
Test
vrbanecd Nov 23, 2023
eb909dc
Test-storm
vrbanecd Nov 23, 2023
0fe560f
test-storm
vrbanecd Nov 23, 2023
e9264a6
test-storm1
vrbanecd Nov 23, 2023
66f099c
test-storm2
vrbanecd Nov 23, 2023
0c92926
test
vrbanecd Nov 27, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
77 changes: 77 additions & 0 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
---
name: CI

on:
push:
pull_request:

concurrency:
group: ${{ github.workflow }}

jobs:
build:
name: build
runs-on: ubuntu-latest
container: centos:centos7
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Install build requisites
run: |
yum -y install rpmdevtools rpmlint rsync
- name: Build rpm
run: |
chmod 777 rpm/teapot-rpm.sh
rpm/teapot-rpm.sh
- name: Upload rpm
uses: actions/upload-artifact@v3
with:
name: teapot-rpm
path: |
/github/home/rpmbuild/RPMS/noarch/teapot-v*-1.el7.noarch.rpm

test:
name: test
needs: build
runs-on: ubuntu-latest
container:
image: dvrbanec/teapot-dependencies:latest
ports:
- 4242:4242
- 8081:8081
- 8085:8085
services:
keycloak:
image: dvrbanec/keycloak-dev:latest
steps:
- uses: actions/download-artifact@v3
with:
name: teapot-rpm
- name: Install the rpm package and self-signed certs
run: |
rpm -i teapot-v*-1.el7.noarch.rpm --nodeps
/usr/share/teapot/self-signed-cert-gen.sh
- uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Test Teapot
run: |
eval "$(oidc-agent)"
python3 keycloak-setup/keycloak-config.py
oidc-gen --flow password -f keycloak-setup/client_config.json --op-username test-user1 --op-password secret1 --prompt none --pw-file keycloak_setup/pw-file test-user1
oidc-gen --flow password -f keycloak-setup/client_config.json --op-username test-user2 --op-password secret2 --prompt none --pw-file keycloak_setup/pw-file test-user2
adduser test-user1
adduser test-user2
cp robot/storage-areas /etc/teapot/
chmod 777 robot/User-sub_generator.sh
robot/User-sub_generator.sh
/usr/share/teapot/webdav-automation.sh test-user1 8085
robot /__w/teapot/teapot/robot/storm-webdav-tests.robot
- name: Upload configs
uses: actions/upload-artifact@v3
with:
name: test-config
path: |
/var/lib/teapot/user-test-user1

22 changes: 22 additions & 0 deletions keycloak-setup/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
FROM registry.access.redhat.com/ubi9 AS ubi-micro-build

RUN mkdir -p /mnt/rootfs

RUN dnf install --installroot /mnt/rootfs curl --releasever 9 --setopt install_weak_deps=false --nodocs -y && \
dnf --installroot /mnt/rootfs clean all && \
rpm --root /mnt/rootfs -e --nodeps setup

FROM quay.io/keycloak/keycloak:22.0.5

COPY --from=ubi-micro-build /mnt/rootfs /

ENV KEYCLOAK_ADMIN=admin
ENV KEYCLOAK_ADMIN_PASSWORD=testing1
ENV KC_HOSTNAME=keycloak
ENV KC_HTTP_ENABLED=true
ENV KC_HEALTH_ENABLED=true

CMD [ "start-dev"]

HEALTHCHECK --interval=10s --start-period=30s --retries=15 CMD curl --fail http://keycloak:8080 || exit 1

9 changes: 9 additions & 0 deletions keycloak-setup/client_config.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
{
"issuer_url": "http://keycloak:8080/realms/test-realm",
"client_id": "test-client",
"client_secret": "test-secret",
"scope": "max",
"redirect_uris": [
"http://localhost:4242"
]
}
57 changes: 57 additions & 0 deletions keycloak-setup/keycloak-config.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
from keycloak import KeycloakAdmin, KeycloakOpenID, KeycloakOpenIDConnection

# Keycloak Admin
keycloak_connection = KeycloakOpenIDConnection(
server_url="http://keycloak:8080/",
username="admin",
password="testing1",
realm_name="master",
verify=True,
)

keycloak_admin = KeycloakAdmin(connection=keycloak_connection)

# Changing Realm
keycloak_admin.create_realm(
payload={"realm": "test-realm", "enabled": True}, skip_exists=False
)
keycloak_connection.realm_name = "test-realm"

# Create a client
client = keycloak_admin.create_client(
payload={
"name": "test-client",
"clientId": "test-client",
"secret": "test-secret",
"redirectUris": ["http://localhost:4242/"],
"enabled": True,
"directAccessGrantsEnabled": True,
}
)

# Configuring client in the new Realm
keycloak_openid = KeycloakOpenID(
server_url="http://keycloak:8080/",
client_id="test-client",
realm_name="test-realm",
client_secret_key="test-secret",
)

# Get WellKnown
config_well_known = keycloak_openid.well_known()

# Adding Users
test_user1 = keycloak_admin.create_user(
{
"username": "test-user1",
"enabled": True,
"credentials": [{"value": "secret1", "type": "password"}],
}
)
test_user2 = keycloak_admin.create_user(
{
"username": "test-user2",
"enabled": True,
"credentials": [{"value": "secret2", "type": "password"}],
}
)
1 change: 1 addition & 0 deletions keycloak-setup/pw_file
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@

60 changes: 60 additions & 0 deletions robot/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
FROM centos:centos7

USER root

RUN \
yum -y update && \
yum -y install epel-release redhat-lsb-core yum-utils && \
yum -y install initscripts java-11-openjdk && \
yum -y install perl-IPC-Cmd perl-Test-Simple && \
yum -y group install "Development Tools" && \
yum -y install tar jq-1.6

WORKDIR /usr/src
ADD https://www.openssl.org/source/openssl-3.0.10.tar.gz .
RUN \
tar -zxf openssl-3.0.10.tar.gz && \
rm openssl-3.0.10.tar.gz

WORKDIR /usr/src/openssl-3.0.10
RUN \
./config && \
make && \
make install && \
ln -s /usr/local/lib64/libssl.so.3 /usr/lib64/libssl.so.3 && \
ln -s /usr/local/lib64/libcrypto.so.3 /usr/lib64/libcrypto.so.3 && \
ln -s /usr/local/bin/openssl /usr/bin/openssl

WORKDIR /tmp
ADD https://www.python.org/ftp/python/3.10.12/Python-3.10.12.tgz .
RUN \
tar -xzf Python-3.10.12.tgz && \
rm Python-3.10.12.tgz && \
yum -y install libffi libffi-devel zlib-devel

WORKDIR /tmp/Python-3.10.12/
RUN \
./configure --enable-optimizations && \
make clean && \
make install && \
echo "export PATH=\"\${PATH}:/usr/local/lib/python3.10/site-packages\"" >> ~/.bashrc && \
pip3 install --upgrade pip && \
pip3 install pydantic && \
pip3 install regex && \
pip3 install httpx && \
pip3 install liboidcagent && \
pip3 install logging && \
pip3 install uvicorn && \
pip3 install requests && \
pip3 install flaat && \
pip3 install fastapi && \
pip3 install robotframework && \
pip3 install robotframework-requests && \
pip3 install python-keycloak

WORKDIR /tmp
ADD https://repo.data.kit.edu//data-kit-edu-centos7.repo /etc/yum.repos.d/data-kit-edu-centos7.repo
RUN \
yum -y install oidc-agent && \
yum -y update && \
yum clean all
11 changes: 11 additions & 0 deletions robot/User-sub_generator.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
user1=test-user1
curl -s -H "Authorization: Bearer $(oidc-token test-user1)" http://keycloak:8080/realms/test-realm/protocol/openid-connect/userinfo | jq . | grep sub | while read column sub; do \
sub1=`sed -e 's/^"//' -e 's/",$//' <<< $sub` \
&& echo -e "$user1 $sub1" >> /etc/teapot/user-mapping.csv\
;done

user2=test-user2
curl -s -H "Authorization: Bearer $(oidc-token test-user2)" http://keycloak:8080/realms/test-realm/protocol/openid-connect/userinfo | jq . | grep sub | while read column sub; do \
sub2=`sed -e 's/^"//' -e 's/",$//' <<< $sub` \
&& echo -e "$user2 $sub2" >> /etc/teapot/user-mapping.csv\
;done
2 changes: 2 additions & 0 deletions robot/storage-areas
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
default $HOME/interTwin
extra $HOME/interTwin_extra
2 changes: 1 addition & 1 deletion robot/storm-webdav-tests.robot
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
*** Settings ***
Library RequestsLibrary
Variables /home/dijana/teapot/robot/variables.py
Variables /__w/teapot/teapot/robot/variables.py


*** Test Cases ***
Expand Down
46 changes: 46 additions & 0 deletions robot/teapot-tests.robot
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
*** Settings ***
Library RequestsLibrary
Variables /__w/teapot/teapot/robot/variables.py


*** Test Cases ***

Authentification
[Tags] authentication
${RESPONSE}= GET ${MAIN_URL} headers=${HEADER1} verify=${false} expected_status=200

WRONG TOKEN
${RESPONSE}= GET ${MAIN_URL} headers=${HEADER2} verify=${false} expected_status=403

NO TOKEN
${RESPONSE}= GET ${MAIN_URL} verify=${false} expected_status=401

INVALID TOKEN
${RESPONSE}= GET ${MAIN_URL} headers=${HEADER4} verify=${false} expected_status=500

PUT REQUEST INVALID TOKEN
${RESPONSE}= PUT ${MAIN_URL}/TestFile1 data=${DATA} headers=${HEADER4} verify=${false} expected_status=500

PUT REQUEST WRONG TOKEN
${RESPONSE}= PUT ${MAIN_URL}/TestFile1 data=${DATA} headers=${HEADER2} verify=${false} expected_status=403

PUT REQUEST NO TOKEN
${RESPONSE}= PUT ${MAIN_URL}/TestFile1 data=${DATA} verify=${false} expected_status=401

PUT REQUEST DEFAULT SA
${RESPONSE}= PUT ${MAIN_URL}/TestFile1 data=${DATA} headers=${HEADER1} verify=${false} expected_status=201


DELETE REQUEST
${RESPONSE}= DELETE ${MAIN_URL}/TestFile1 headers=${HEADER1} verify=${false} expected_status=204

DELETE REQUEST INVALID TOKEN
${RESPONSE}= DELETE ${MAIN_URL}/TestFile1 headers=${HEADER4} verify=${false} expected_status=500

DELETE REQUEST WRONG TOKEN
${RESPONSE}= DELETE ${MAIN_URL}/TestFile1 headers=${HEADER2} verify=${false} expected_status=403

DELETE REQUEST NO TOKEN
${RESPONSE}= DELETE ${MAIN_URL}/TestFile1 verify=${false} expected_status=401


Binary file added robot/test_file
Binary file not shown.
24 changes: 11 additions & 13 deletions robot/variables.py
Original file line number Diff line number Diff line change
@@ -1,15 +1,13 @@
import subprocess

PORT= '8085'
PORT_MAIN='8081'
HOST='131.169.234.115'
STORM_URL="https://"+HOST+":"+PORT
MAIN_URL="https://"+HOST+":"+PORT_MAIN
TOKEN1=subprocess.check_output("oidc-token test-kc1", shell=True)
TOKEN2=subprocess.check_output("oidc-token test-kc2", shell=True)
TOKEN3=subprocess.check_output("oidc-token test-kc3", shell=True)
HEADER1={"Authorization": ("Bearer "+str(TOKEN1, 'ascii')).strip("\n")}
HEADER2={"Authorization": ("Bearer "+str(TOKEN2, 'ascii')).strip("\n")}
HEADER3={"Authorization": ("Bearer "+str(TOKEN3, 'ascii')).strip("\n")}
HEADER4={"Authorization": "Bearer NOT_A_TOKEN"}
DATA='/home/dijana/TestFile1'
PORT = "8085"
PORT_MAIN = "8081"
HOST = str(subprocess.check_output("curl ifconfig.me", shell=True), encoding="utf-8")
STORM_URL = "https://" + HOST + ":" + PORT
MAIN_URL = "https://" + HOST + ":" + PORT_MAIN
TOKEN1 = subprocess.check_output("oidc-token test-user1", shell=True)
TOKEN2 = subprocess.check_output("oidc-token test-user2", shell=True)
HEADER1 = {"Authorization": ("Bearer " + str(TOKEN1, "ascii")).strip("\n")}
HEADER2 = {"Authorization": ("Bearer " + str(TOKEN2, "ascii")).strip("\n")}
HEADER4 = {"Authorization": "Bearer NOT_A_TOKEN"}
DATA = "/__w/teapot/teapot/robot/test_file"
4 changes: 2 additions & 2 deletions rpm/teapot-rpm.sh
Original file line number Diff line number Diff line change
Expand Up @@ -28,5 +28,5 @@ mv storm-webdav-server.tar.gz $HOME/rpmbuild/SOURCES/
#building the RPM package
rpmbuild -ba ~/rpmbuild/SPECS/teapot.spec

cp $HOME/rpmbuild/RPMS/noarch/teapot-v*-1.el7.noarch.rpm $HOME/
rm -r $HOME/rpmbuild
# cp $HOME/rpmbuild/RPMS/noarch/teapot-v*-1.el7.noarch.rpm $HOME/
# rm -r $HOME/rpmbuild
18 changes: 9 additions & 9 deletions run-teapot.sh
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
#!/bin/bash

path_to_pid='/home/dijana/teapot.pid'
if [ -a $path_to_pid ]; then
stormpid=`cat $path_to_pid`
kill $stormpid
rm $path_to_pid
else
python3 /usr/share/teapot/teapot.py &> tmp-storm-proxy.log &
echo $! > $path_to_pid
fi
#path_to_pid='$HOME/teapot.pid'
#if [ -a $path_to_pid ]; then
# stormpid=`cat $path_to_pid`
# kill $stormpid
# rm $path_to_pid
#else
python3 /usr/share/teapot/teapot.py &> tmp-storm-proxy.log &
# echo $! > $path_to_pid
#fi

Loading