mirror of
				https://git.jami.net/savoirfairelinux/jami-jams.git
				synced 2025-10-30 07:57:19 +08:00 
			
		
		
		
	 92a9e3233a
			
		
	
	92a9e3233a
	
	
	
		
			
			We instead return 200 with an empty list Change-Id: I43f10783548ec4581e6fcdddc187adb8247d2b5b
		
			
				
	
	
		
			161 lines
		
	
	
		
			3.6 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			161 lines
		
	
	
		
			3.6 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
| #!/usr/bin/env sh
 | |
| 
 | |
| set -e
 | |
| 
 | |
| HOST='http://localhost:8080'
 | |
| 
 | |
| LAST_CURL_RESPONSE=''
 | |
| BEARER=''
 | |
| GROUP_ID=''
 | |
| 
 | |
| post() {
 | |
|     _route=$1
 | |
|     _data=$2
 | |
| 
 | |
|     printf '\n\n%s %s\n' "$_method" "$_route"
 | |
|     LAST_CURL_RESPONSE=$(curl "$HOST$_route" \
 | |
|         -sk \
 | |
|         -D /dev/stderr \
 | |
|         -H "Authorization: Bearer $BEARER" \
 | |
|         -H 'Content-Type: application/json;charset=UTF-8' \
 | |
|         --data-raw "$_data"
 | |
|     )
 | |
|     echo "$LAST_CURL_RESPONSE"
 | |
| }
 | |
| 
 | |
| get_bearer() {
 | |
|     _method=$1
 | |
|     _route=$2
 | |
| 
 | |
|     printf '\n\n%s %s\n' "$_method" "$_route"
 | |
|     BEARER=$(curl "$HOST$_route" \
 | |
|         -sk \
 | |
|         -D /dev/stderr \
 | |
|         -X "$_method" \
 | |
|         --data-raw '{"username":"admin","password":"admin"}'
 | |
|     )
 | |
|     BEARER=$(echo "$BEARER" | jq -r '.access_token')
 | |
|     echo "BEARER=$BEARER"
 | |
| }
 | |
| 
 | |
| install_create_admin_account() {
 | |
|     get_bearer PUT /api/install/start
 | |
| }
 | |
| 
 | |
| install_ca() {
 | |
|     # 5 years: 157784630000
 | |
|     post '/api/install/ca' \
 | |
|         '{"fields":{
 | |
|             "commonName":"myCommonName",
 | |
|             "organization":"myOrg",
 | |
|             "city":"myCity",
 | |
|             "state":"myState",
 | |
|             "country":"AI",
 | |
|             "lifetime":157784630000
 | |
|         }}'
 | |
| }
 | |
| 
 | |
| install_auth() {
 | |
|     post '/api/install/auth' \
 | |
|         '{
 | |
|             "type":"LOCAL",
 | |
|             "localAuthSettings": {
 | |
|                 "publicNameServer":"http://ns.jami.net",
 | |
|                 "publicNames":false
 | |
|             }
 | |
|         }'
 | |
| }
 | |
| 
 | |
| install_settings() {
 | |
|     post '/api/install/settings' \
 | |
|         '{
 | |
|             "serverDomain":"http://localhost:8080",
 | |
|             "crlLifetime":300000,
 | |
|             "deviceLifetime":31556952000,
 | |
|             "userLifetime":31556952000,
 | |
|             "sipConfig":null,
 | |
|             "signingAlgorithm":"SHA512WITHRSA"
 | |
|         }'
 | |
| }
 | |
| 
 | |
| login() {
 | |
|     get_bearer POST '/api/login'
 | |
| }
 | |
| 
 | |
| create_blueprint() {
 | |
|     _name=$1
 | |
|     post "/api/admin/policy?name=$_name" \
 | |
|         '{
 | |
|             "videoEnabled":true,
 | |
|             "publicInCalls":false,
 | |
|             "allowCertFromContact":true,
 | |
|             "allowCertFromHistory":true,
 | |
|             "allowCertFromTrusted":true,
 | |
|             "autoAnswer":false,
 | |
|             "peerDiscovery":true,
 | |
|             "accountDiscovery":true,
 | |
|             "accountPublish":true,
 | |
|             "rendezVous":false,
 | |
|             "defaultModerators":"",
 | |
|             "upnpEnabled":true,
 | |
|             "allowLookup":true
 | |
|         }'
 | |
| }
 | |
| 
 | |
| create_group() {
 | |
|     _name=$1
 | |
|     _blueprint_name=$2
 | |
| 
 | |
|     post '/api/admin/group' \
 | |
|         '{"name":"'"$_name"'","blueprintName":"'"$_blueprint_name"'"}'
 | |
| 
 | |
|     GROUP_ID=$(echo "$LAST_CURL_RESPONSE" | jq -r '.id')
 | |
| }
 | |
| 
 | |
| create_user() {
 | |
|     _username=$1
 | |
|     _password=$2
 | |
|     post '/api/admin/user' \
 | |
|         '{"username":"'"$_username"'","password":"'"$_password"'"}'
 | |
| 
 | |
|     post '/api/admin/directory/entry' \
 | |
|         '{
 | |
|             "username":"'"$_username"'",
 | |
|             "password":"'"$_password"'",
 | |
|             "firstName":"",
 | |
|             "lastName":"",
 | |
|             "email":"",
 | |
|             "profilePicture":"",
 | |
|             "organization":"",
 | |
|             "faxNumber":"",
 | |
|             "phoneNumber":"",
 | |
|             "phoneNumberExtension":"",
 | |
|             "mobileNumber":"",
 | |
|             "jamiId":""
 | |
|         }'
 | |
| 
 | |
|     post "/api/admin/group/members/$GROUP_ID" '{"username":"'"$_username"'"}'
 | |
| }
 | |
| 
 | |
| install_setup() {
 | |
|     install_create_admin_account
 | |
|     install_ca
 | |
|     install_auth
 | |
|     install_settings
 | |
| }
 | |
| 
 | |
| create_mock_data() {
 | |
|     _group_name='defaultGroup'
 | |
|     _blueprint_name='defaultBlueprint'
 | |
|     login
 | |
|     create_blueprint $_blueprint_name
 | |
|     create_group $_group_name $_blueprint_name
 | |
|     create_user alice a
 | |
|     create_user bob a
 | |
|     create_user charlie a
 | |
|     create_user danny a
 | |
| }
 | |
| 
 | |
| install_setup
 | |
| create_mock_data
 |