Last active
May 4, 2018 20:30
-
-
Save drewbrokke/36bbfd7a978769ee8ef1c40f41de7ef0 to your computer and use it in GitHub Desktop.
uadDemo helper script
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
which jq 1>/dev/null || error "This script requires jq to be installed. See https://stedolan.github.io/jq/ for more details." | |
VERBOSE=0 | |
while getopts v FLAGS; do | |
case $FLAGS in | |
v) VERBOSE=1 ;; | |
*) ;; | |
esac | |
done | |
shift $((OPTIND-1)) | |
#################### HELPER FUNCTIONS #################### | |
function error() { | |
echo "[uadDemo] ERROR: $1" | |
exit 1 | |
} | |
function log() { | |
if [[ $VERBOSE -gt 0 ]] ; then | |
echo "[uadDemo] INFO: $1" | |
fi | |
} | |
function step() { | |
echo "[uadDemo] STEP: $1" | |
} | |
GROUP_ID=0 | |
function addAnnouncements() { | |
log "Adding announcements data..." | |
for i in {1..40} ; do | |
local ENTRY_ID | |
ENTRY_ID="$( | |
curl -s http://localhost:8080/api/jsonws/announcementsentry/add-entry \ | |
-u [email protected]:test \ | |
-d classNameId=0 \ | |
-d classPK=0 \ | |
-d title="$1: Test Announcements Entry $i" \ | |
-d content="Hear ye, hear ye" \ | |
-d url="" \ | |
-d type="general" \ | |
-d -displayDate= \ | |
-d -expirationDate= \ | |
-d priority=0 \ | |
-d alert=false | | |
jq '.entryId | tonumber' | |
)" | |
curl -s http://localhost:8080/api/jsonws/announcementsflag/add-flag \ | |
-u [email protected]:test \ | |
-d entryId=${ENTRY_ID} \ | |
-d value=1 1>/dev/null | |
done | |
} | |
function addBlogs() { | |
log "Adding blogs data..." | |
for i in {1..40} ; do | |
curl -s http://localhost:8080/api/jsonws/blogsentry/add-entry \ | |
-u "[email protected]:test" \ | |
-d title="A test blog post" \ | |
-d subtitle="a test subtitle" \ | |
-d description="This what we do" \ | |
-d content="This is the content" \ | |
-d displayDateMonth=1 \ | |
-d displayDateDay=1 \ | |
-d displayDateYear=1985 \ | |
-d displayDateHour=1 \ | |
-d displayDateMinute=1 \ | |
-d allowPingbacks=false \ | |
-d allowTrackbacks=false \ | |
-d trackbacks= \ | |
-d coverImageCaption="asdf" \ | |
-d -coverImageImageSelector= \ | |
-d -smallImageImageSelector= | |
done | |
} | |
function addBookmarks() { | |
log "Adding bookmarks data..." | |
for i in {1..40} ; do | |
curl -s http://localhost:8080/api/jsonws/bookmarks.bookmarksentry/add-entry \ | |
-u "[email protected]:test" \ | |
-d groupId=${GROUP_ID} \ | |
-d folderId=0 \ | |
-d name="$1: testBookmark $i" \ | |
-d url="http://www.google.com" \ | |
-d description="A test bookmark by $1" 1>/dev/null | |
done | |
} | |
#################### BEGIN SCRIPT #################### | |
#################### GET COMPANY ID #################### | |
step "Get companyId by mx" | |
COMPANY_ID="$( | |
curl -s http://localhost:8080/api/jsonws/company/get-company-by-mx \ | |
-u [email protected]:test \ | |
-d mx='liferay.com' | | |
jq '.companyId | tonumber' | |
)" | |
log "COMPANY_ID: ${COMPANY_ID}" | |
#################### GET GROUP ID #################### | |
step "Get groupId by search" | |
GROUP_ID="$( | |
curl -s http://localhost:8080/api/jsonws/group/search \ | |
-u [email protected]:test \ | |
-d companyId=20099 \ | |
-d name='Liferay' \ | |
-d description='' \ | |
-d params= \ | |
-d start=0 \ | |
-d end=1 | | |
jq '.[0] | .groupId | tonumber' | |
)" | |
log "GROUP_ID: ${GROUP_ID}" | |
#################### ADD USER #################### | |
step "Add user" | |
FIRST_NAME="$(curl -s http://faker.hook.io?property=name.firstName | sed 's/"//g')" | |
LAST_NAME="$(curl -s http://faker.hook.io?property=name.lastName | sed 's/"//g')" | |
SCREEN_NAME="${FIRST_NAME}${LAST_NAME}" | |
USER="$( | |
curl -s http://localhost:8080/api/jsonws/user/add-user \ | |
-u [email protected]:test \ | |
-d companyId=${COMPANY_ID} \ | |
-d autoPassword=false \ | |
-d password1="test" \ | |
-d password2="test" \ | |
-d autoScreenName=false \ | |
-d screenName="${SCREEN_NAME}" \ | |
-d emailAddress="${SCREEN_NAME}@liferay.com" \ | |
-d facebookId=0 \ | |
-d openId="" \ | |
-d locale= \ | |
-d firstName="${FIRST_NAME}" \ | |
-d middleName="" \ | |
-d lastName="${LAST_NAME}" \ | |
-d prefixId=0 \ | |
-d suffixId=0 \ | |
-d male=true \ | |
-d birthdayMonth=1 \ | |
-d birthdayDay=1 \ | |
-d birthdayYear=1901 \ | |
-d jobTitle="" \ | |
-d groupIds= \ | |
-d organizationIds= \ | |
-d roleIds= \ | |
-d userGroupIds= \ | |
-d sendEmail=false | |
)" | |
USER_ID="$(echo $USER | jq '.userId | tonumber')" | |
SCREEN_NAME="$(echo $USER | jq '.screenName' | sed 's/"//g')" | |
log "USER_ID: ${USER_ID}" | |
log "SCREEN_NAME: ${SCREEN_NAME}" | |
#################### GET ADMINISTRATOR ROLE ID #################### | |
step "Get administrator role Id" | |
ADMINISTRATOR_ROLE_ID="$( | |
curl -s http://localhost:8080/api/jsonws/role/get-role \ | |
-u [email protected]:test \ | |
-d companyId=${COMPANY_ID} \ | |
-d name="Administrator" | | |
jq '.roleId | tonumber' | |
)" | |
log "ADMINISTRATOR_ROLE_ID: ${ADMINISTRATOR_ROLE_ID}" | |
#################### GIVE THE ADMIN ROLE TO THE USER #################### | |
step "Give user administrator role" | |
curl -s http://localhost:8080/api/jsonws/role/add-user-roles \ | |
-u [email protected]:test \ | |
-d userId=${USER_ID} \ | |
-d roleIds=[${ADMINISTRATOR_ROLE_ID}] 1>/dev/null | |
#################### ADD DEMO DATA #################### | |
step "Adding demo data" | |
addBlogs "${SCREEN_NAME}" | |
# addBookmarks "${SCREEN_NAME}" | |
addAnnouncements "${SCREEN_NAME}" | |
#################### REMOVE THE ADMIN ROLE FROM THE USER #################### | |
step "Remove administrator role from user" | |
curl -s http://localhost:8080/api/jsonws/role/unset-user-roles \ | |
-u [email protected]:test \ | |
-d userId=${USER_ID} \ | |
-d roleIds=[${ADMINISTRATOR_ROLE_ID}] 1>/dev/null | |
echo "Added demo data for user: $FIRST_NAME $LAST_NAME ($SCREEN_NAME)" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment