/ test.sh
test.sh
  1  #!/bin/sh
  2  debug="$1"
  3  
  4  export JOURNALIST_API_URL="http://127.0.0.1:8000/api/v1"
  5  
  6  admin_user="admin"
  7  admin_pass="admin"
  8  
  9  user1_id=""
 10  user1_user="user1"
 11  user1_pass="p4sS!123456"
 12  
 13  user2_id=""
 14  user2_user="user2"
 15  user2_pass="p4sS!123456"
 16  
 17  feed1_url="http://lorem-rss.herokuapp.com/feed"
 18  feed2_url="https://xn--gckvb8fzb.com"
 19  
 20  failfast() {
 21    if [ "$1" -ne "0" ]
 22    then
 23      printf "   FAILED: %s\n" "$2"
 24      exit "$1"
 25    else
 26      printf "   SUCCESS\n"
 27      if [ "$debug" = "true" ]
 28      then
 29        printf "   DEBUG: %s\n" "$2"
 30      fi
 31    fi
 32  }
 33  
 34  
 35  #------------------------------------------------------------------------------#
 36  printf "\
 37  ## Listing all users as admin \
 38  \n"
 39  # -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - #
 40  out=$(
 41    ./redacteur perform get \
 42         on users \
 43         as $admin_user $admin_pass
 44  )
 45  failfast $? "$out"
 46  
 47  
 48  
 49  #------------------------------------------------------------------------------#
 50  printf "\
 51  ## Creating user as admin with username %s \
 52  \n" "$user1_user"
 53  # -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - #
 54  out=$(
 55    ./redacteur perform post \
 56         on users \
 57         as $admin_user $admin_pass \
 58       with "{
 59         \"username\": \"$user1_user\",
 60         \"password\": \"$user1_pass\",
 61         \"role\": \"user\"
 62       }"
 63  )
 64  failfast $? "$out"
 65  #------------------------------------------------------------------------------#
 66  
 67  
 68  
 69  #------------------------------------------------------------------------------#
 70  printf "\
 71  ## Listing all users as admin \
 72  \n"
 73  # -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - #
 74  out=$(
 75    ./redacteur perform get \
 76         on users \
 77         as $admin_user $admin_pass
 78  )
 79  failfast $? "$out"
 80  user1_id="$(printf "%s" "$out" | jq --raw-output ".users[] | select(.username == \"$user1_user\") | .id")"
 81  #------------------------------------------------------------------------------#
 82  
 83  
 84  
 85  #------------------------------------------------------------------------------#
 86  printf "\
 87  ## Updating %s as admin with 'admin' role \
 88  \n" "$user1_user"
 89  # -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - #
 90  out=$(
 91    ./redacteur perform put \
 92         on users/$user1_id \
 93         as $admin_user $admin_pass \
 94       with "{
 95         \"role\": \"admin\"
 96       }"
 97  )
 98  failfast $? "$out"
 99  #------------------------------------------------------------------------------#
100  
101  
102  
103  #------------------------------------------------------------------------------#
104  printf "\
105  ## Updating %s as admin with 'user' role \
106  \n" "$user1_user"
107  # -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - #
108  out=$(
109    ./redacteur perform put \
110         on users/$user1_id \
111         as $admin_user $admin_pass \
112       with "{
113         \"role\": \"user\"
114       }"
115  )
116  failfast $? "$out"
117  #------------------------------------------------------------------------------#
118  
119  
120  
121  #------------------------------------------------------------------------------#
122  printf "\
123  ## Creating user as admin with username %s \
124  \n" "$user2_user"
125  # -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - #
126  out=$(
127    ./redacteur perform post \
128         on users \
129         as $admin_user $admin_pass \
130       with "{
131         \"username\": \"$user2_user\",
132         \"password\": \"$user2_pass\",
133         \"role\": \"user\"
134       }"
135  )
136  failfast $? "$out"
137  #------------------------------------------------------------------------------#
138  
139  
140  
141  #------------------------------------------------------------------------------#
142  printf "\
143  ## Creating token as %s with name 'mytoken' \
144  \n" "$user1_user"
145  # -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - #
146  out=$(
147    ./redacteur perform post \
148         on tokens \
149         as $user1_user $user1_pass \
150       with "{
151         \"name\": \"mytoken\"
152       }"
153  )
154  failfast $? "$out"
155  #------------------------------------------------------------------------------#
156  
157  
158  
159  #------------------------------------------------------------------------------#
160  printf "\
161  ## Creating feed as %s with URL %s \
162  \n" "$user1_user" "$feed1_url"
163  # -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - #
164  out=$(
165    ./redacteur perform post \
166         on feeds \
167         as $user1_user $user1_pass \
168       with "{
169         \"name\": \"xn--gckvb8fzb.com\",
170         \"url\": \"$feed1_url\",
171         \"group\": \"Journals\"
172       }"
173  )
174  failfast $? "$out"
175  #------------------------------------------------------------------------------#
176  
177  
178  
179  #------------------------------------------------------------------------------#
180  printf "\
181  ## Creating feed as %s with URL %s \
182  \n" "$user2_user" "$feed1_url"
183  # -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - #
184  out=$(
185    ./redacteur perform post \
186         on feeds \
187         as $user2_user $user2_pass \
188       with "{
189         \"name\": \"xn--gckvb8fzb.com\",
190         \"url\": \"$feed1_url\",
191         \"group\": \"Journals\"
192       }"
193  )
194  failfast $? "$out"
195  #------------------------------------------------------------------------------#
196