Domain: amberpublishers.in
Server Adress: 86.38.243.169

privdayz.com

/opt/.wp-cli/packages/vendor/wp-cli/entity-command/features/
Dosya Yükle :
Current File : //opt/.wp-cli/packages/vendor/wp-cli/entity-command/features/user.feature

Feature: Manage WordPress users

  Scenario: User CRUD operations
    Given a WP install

    When I try `wp user get bogus-user`
    Then the return code should be 1
    And STDOUT should be empty

    When I run `wp user create testuser2 testuser2@example.com --first_name=test --last_name=user --role=author --porcelain`
    Then STDOUT should be a number
    And save STDOUT as {USER_ID}

    When I run `wp user get {USER_ID}`
    Then STDOUT should be a table containing rows:
      | Field        | Value      |
      | ID           | {USER_ID}  |
      | roles        | author     |

    When I run `wp user exists {USER_ID}`
    Then STDOUT should be:
      """
      Success: User with ID {USER_ID} exists.
      """
    And the return code should be 0

    When I try `wp user exists 1000`
    And STDOUT should be empty
    And the return code should be 1

    When I run `wp user get {USER_ID} --field=user_registered`
    Then STDOUT should not contain:
      """
      0000-00-00 00:00:00
      """

    When I run `wp user meta get {USER_ID} first_name`
    Then STDOUT should be:
      """
      test
      """

    When I run `wp user list --fields=user_login,roles`
    Then STDOUT should be a table containing rows:
      | user_login        | roles      |
      | testuser2         | author     |

    When I run `wp user meta get {USER_ID} last_name`
    Then STDOUT should be:
      """
      user
      """

    When I run `wp user delete {USER_ID} --yes`
    Then STDOUT should not be empty

    When I try `wp user create testuser2 testuser2@example.com --role=wrongrole --porcelain`
    Then the return code should be 1
    Then STDOUT should be empty

    When I run `wp user create testuser testuser@example.com --porcelain`
    Then STDOUT should be a number
    And save STDOUT as {USER_ID}

    When I try the previous command again
    Then the return code should be 1

    When I run `wp user update {USER_ID} --display_name=Foo`
    And I run `wp user get {USER_ID}`
    Then STDOUT should be a table containing rows:
      | Field        | Value     |
      | ID           | {USER_ID} |
      | display_name | Foo       |

    When I run `wp user get testuser@example.com`
    Then STDOUT should be a table containing rows:
      | Field        | Value     |
      | ID           | {USER_ID} |
      | display_name | Foo       |

    When I run `wp user delete {USER_ID} --yes`
    Then STDOUT should not be empty

    When I run `wp user create testuser3 testuser3@example.com --user_pass=testuser3pass`
    Then STDOUT should not contain:
       """
       Password:
       """

    # Check with valid password.
    When I run `wp user check-password testuser3 testuser3pass`
    Then the return code should be 0

    # Check with invalid password.
    When I try `wp user check-password testuser3 invalidpass`
    Then the return code should be 1

    When I try `wp user check-password invaliduser randomstring`
    Then STDERR should contain:
      """
      Invalid user ID, email or login: 'invaliduser'
      """
    And the return code should be 1

    When I run `wp user create testuser3b testuser3b@example.com --user_pass="test\"user3b's\pass\!"`
    Then STDOUT should not contain:
       """
       Password:
       """

    # Check password without the `--escape-chars` option.
    When I try `wp user check-password testuser3b "test\"user3b's\pass\!"`
    Then STDERR should be:
      """
      Warning: Password contains characters that need to be escaped. Please escape them manually or use the `--escape-chars` option.
      """
    And the return code should be 1

    # Check password with the `--escape-chars` option.
    When I try `wp user check-password testuser3b "test\"user3b's\pass\!" --escape-chars`
    Then the return code should be 0

    # Check password with manually escaped characters.
    When I try `wp user check-password testuser3b "test\\\"user3b\'s\\\pass\\\!"`
    Then the return code should be 0

  Scenario: Reassigning user posts
    Given a WP multisite install

    When I run `wp user create bobjones bob@example.com --role=author --porcelain`
    And save STDOUT as {BOB_ID}

    And I run `wp user create sally sally@example.com --role=editor --porcelain`
    And save STDOUT as {SALLY_ID}

    When I run `wp post generate --count=3 --post_author=bobjones`
    And I run `wp post list --author={BOB_ID} --format=count`
    Then STDOUT should be:
      """
      3
      """

    When I run `wp user delete bobjones --reassign={SALLY_ID}`
    And I run `wp post list --author={SALLY_ID} --format=count`
    Then STDOUT should be:
      """
      3
      """

  Scenario: Delete user with invalid reassign
    Given a WP install
    And a session_no file:
      """
      n
      """
    And a session_yes file:
      """
      y
      """

    When I run `wp user create bobjones bob@example.com --role=author --porcelain`
    And save STDOUT as {BOB_ID}

    When I run `wp post list --format=count`
    And save STDOUT as {TOTAL_POSTS}

    When I run `wp post generate --count=3 --format=ids --post_author=bobjones`
    And I run `wp post list --author={BOB_ID} --format=count`
    Then STDOUT should be:
      """
      3
      """

    When I run `wp user delete bobjones < session_no`
    Then STDOUT should contain:
      """
      --reassign parameter not passed. All associated posts will be deleted. Proceed? [y/n]
      """

    When I run `wp user delete bobjones --reassign=99999 < session_no`
    Then STDOUT should contain:
      """
      --reassign parameter is invalid. All associated posts will be deleted. Proceed? [y/n]
      """

    When I run `wp user delete bobjones < session_yes`
    And I run `wp post list --format=count`
    Then STDOUT should be:
      """
      {TOTAL_POSTS}
      """

  Scenario: Deleting user from the whole network
    Given a WP multisite install

    When I run `wp user create bobjones bob@example.com --role=author --porcelain`
    And save STDOUT as {BOB_ID}

    When I run `wp user get bobjones`
    Then STDOUT should not be empty

    When I run `wp user delete bobjones --network --yes`
    Then STDOUT should not be empty

    When I try `wp user get bobjones`
    Then STDERR should not be empty
    And the return code should be 1

  Scenario: Trying to delete existing user with no roles from a subsite
    Given a WP multisite install

    When I run `wp user create bobjones bob@example.com --role=author --url=https://example.com --porcelain`
    And save STDOUT as {BOB_ID}

    When I run `wp user delete bobjones --yes`
    Then STDOUT should contain:
      """
      Success: Removed user
      """
    And STDERR should be empty

    When I try `wp user delete bobjones --yes`
    Then STDERR should be:
      """
      Warning: No roles found for user {BOB_ID} on https://example.com, no users deleted.
      """
    And the return code should be 1

  @require-wp-4.0
  Scenario: Trying to delete super admin
    Given a WP multisite install

    When I run `wp user create bobjones bob@example.com --role=author --porcelain`
    And save STDOUT as {BOB_ID}

    When I run `wp super-admin add {BOB_ID}`
    And I try `wp user delete bobjones --network --yes`
    Then STDERR should be:
      """
      Warning: Failed deleting user {BOB_ID}. The user is a super admin.
      """
    And the return code should be 1

  Scenario: Create new users on multisite
    Given a WP multisite install

    When I try `wp user create bob-jones bobjones@example.com`
    Then STDERR should contain:
      """
      lowercase letters (a-z) and numbers
      """
    And the return code should be 1

    When I run `wp user create bobjones bobjones@example.com --display_name="Bob Jones"`
    Then STDOUT should not be empty

    When I run `wp user get bobjones --field=display_name`
    Then STDOUT should be:
      """
      Bob Jones
      """

  Scenario: Managing user roles
    Given a WP install

    When I try `wp user add-role 1`
    Then the return code should be 1
    And STDERR should be:
      """
      Error: Please specify at least one role to add.
      """
    And STDOUT should be empty

    When I run `wp user add-role 1 editor`
    Then STDOUT should be:
      """
      Success: Added 'editor' role for admin (1).
      """

    When I run `wp user get 1 --field=roles`
    Then STDOUT should be:
      """
      administrator, editor
      """

    When I run `wp user add-role 1 editor contributor`
    Then STDOUT should be:
      """
      Success: Added 'editor', 'contributor' roles for admin (1).
      """

    When I run `wp user get 1 --field=roles`
    Then STDOUT should be:
      """
      administrator, editor, contributor
      """

    When I run `wp user remove-role 1 editor contributor`
    Then STDOUT should be:
      """
      Success: Removed 'editor', 'contributor' roles from admin (1).
      """

    When I run `wp user get 1 --field=roles`
    Then STDOUT should be:
      """
      administrator
      """

    When I try `wp user add-role 1 edit`
    Then STDERR should contain:
      """
      Role doesn't exist
      """
    And the return code should be 1

    When I try `wp user set-role 1 edit`
    Then STDERR should contain:
      """
      Role doesn't exist
      """
    And the return code should be 1

    When I try `wp user remove-role 1 edit`
    Then STDERR should contain:
      """
      Role doesn't exist
      """
    And the return code should be 1

    When I run `wp user set-role 1 author`
    Then STDOUT should not be empty
    And I run `wp user get 1`
    Then STDOUT should be a table containing rows:
      | Field | Value  |
      | roles | author |

    When I run `wp user remove-role 1 editor`
    Then STDOUT should not be empty
    And I run `wp user get 1`
    Then STDOUT should be a table containing rows:
      | Field | Value  |
      | roles | author |

    When I run `wp user remove-role 1`
    Then STDOUT should not be empty
    And I run `wp user get 1`
    Then STDOUT should be a table containing rows:
      | Field | Value |
      | roles |       |

  Scenario: Invalid User Role
    Given a WP install
    When I run `wp user create testuser4 testemail4@example.com`
    And I try `wp user update testuser4 --role=banana`
    Then STDERR should be:
      """
      Warning: Role doesn't exist: banana
      """
    And STDOUT should contain:
      """
      Success:
      """
    And the return code should be 0

    When I run `wp user get admin --field=roles`
    Then STDOUT should be:
      """
      administrator
      """

  Scenario: Managing user capabilities
    Given a WP install

    When I run `wp user add-cap 1 edit_vip_product`
    Then STDOUT should be:
      """
      Success: Added 'edit_vip_product' capability for admin (1).
      """

    And I run `wp user list-caps 1 | tail -n 1`
    Then STDOUT should be:
      """
      edit_vip_product
      """

    And I run `wp user remove-cap 1 edit_vip_product`
    Then STDOUT should be:
      """
      Success: Removed 'edit_vip_product' cap for admin (1).
      """

    And I try the previous command again
    Then the return code should be 1
    And STDERR should be:
      """
      Error: No such 'edit_vip_product' cap for admin (1).
      """
    And STDOUT should be empty

    When I run `wp user list-caps 1`
    Then STDOUT should not contain:
      """
      edit_vip_product
      """
    And STDOUT should contain:
      """
      publish_posts
      """

    When I try `wp user remove-cap 1 publish_posts`
    Then the return code should be 1
    And STDERR should be:
      """
      Error: The 'publish_posts' cap for admin (1) is inherited from a role.
      """
    And STDOUT should be empty

    And I run `wp user list-caps 1`
    Then STDOUT should contain:
      """
      publish_posts
      """

  Scenario: Show password when creating a user
    Given a WP install

    When I run `wp user create testrandompass testrandompass@example.com`
    Then STDOUT should contain:
       """
       Password:
       """

    When I run `wp user create testsuppliedpass testsuppliedpass@example.com --user_pass=suppliedpass`
    Then STDOUT should not contain:
       """
       Password:
       """

  Scenario: List network users
    Given a WP multisite install

    When I run `wp user create testsubscriber testsubscriber@example.com`
    Then STDOUT should contain:
      """
      Success: Created user
      """

    When I run `wp user list --field=user_login`
    Then STDOUT should contain:
      """
      testsubscriber
      """

    When I run `wp user delete testsubscriber --yes`
    Then STDOUT should contain:
      """
      Success: Removed user
      """

    When I run `wp user list --field=user_login`
    Then STDOUT should not contain:
      """
      testsubscriber
      """

    When I run `wp user list --field=user_login --network`
    Then STDOUT should contain:
      """
      testsubscriber
      """

  Scenario: Listing user capabilities
    Given a WP install

    When I run `wp user create bob bob@gmail.com --role=contributor`
    And I run `wp user list-caps bob`
    Then STDOUT should be:
      """
      edit_posts
      read
      level_1
      level_0
      delete_posts
      contributor
      """

    And I run `wp user list-caps bob --format=json`
    Then STDOUT should be:
      """
      [{"name":"edit_posts"},{"name":"read"},{"name":"level_1"},{"name":"level_0"},{"name":"delete_posts"},{"name":"contributor"}]
      """

    And I run `wp user list-caps bob --format=count`
    Then STDOUT should be:
      """
      6
      """

    When I run `wp user list-caps bob --exclude-role-names`
    Then STDOUT should be:
      """
      edit_posts
      read
      level_1
      level_0
      delete_posts
      """

    When I run `wp user add-cap bob newcap`
    And I run `wp user list-caps bob --origin=role`
    Then STDOUT should be:
      """
      edit_posts
      read
      level_1
      level_0
      delete_posts
      contributor
      """

    And I run `wp user list-caps bob --origin=user`
    Then STDOUT should be:
      """
      newcap
      """

  Scenario: Make sure WordPress receives the slashed data it expects
    Given a WP install

    When I run `wp user create slasheduser slasheduser@example.com --display_name='My\User' --porcelain`
    Then save STDOUT as {USER_ID}

    When I run `wp user get {USER_ID} --field=display_name`
    Then STDOUT should be:
      """
      My\User
      """

    When I run `wp user update {USER_ID} --display_name='My\New\User'`
    Then STDOUT should not be empty

    When I run `wp user get {USER_ID} --field=display_name`
    Then STDOUT should be:
      """
      My\New\User
      """

  Scenario: Don't send user creation emails by default
    Given a WP multisite install

    When I run `wp user create testuser2 testuser2@example.com`
    Then an email should not be sent

    When I run `wp user create testuser3 testuser3@example.com --send-email`
    Then an email should be sent

  Scenario: List URLs of one or more users
    Given a WP install
    And I run `wp user create bob bob@gmail.com --role=contributor`

    When I run `wp user list --include=1,2 --field=url`
    Then STDOUT should be:
      """
      https://example.com/?author=1
      https://example.com/?author=2
      """

  Scenario: Get user with email as login
    Given a WP install
    And I run `wp user create testuser4@example.com testemail4@example.com`

    When I run `wp user get testemail4@example.com --field=user_login`
    Then STDOUT should be:
      """
      testuser4@example.com
      """

    When I run `wp user get testuser4@example.com --field=user_login`
    Then STDOUT should be:
      """
      testuser4@example.com
      """

  Scenario: Mark/remove a user from spam
    Given a WP multisite install
    And I run `wp user create bumblebee bbee@example.com --role=author --porcelain`
    And save STDOUT as {BBEE_ID}
    And I run `wp user create oprime oprime@example.com --role=author --porcelain`
    And save STDOUT as {OP_ID}
    And I run `wp user get bumblebee`
    Then STDOUT should not be empty
    And I run `wp user get oprime`
    Then STDOUT should not be empty

    When I run `wp site create --slug=foo --porcelain`
    Then save STDOUT as {SPAM_SITE_ID}

    When I run `wp --url=example.com/foo user set-role {BBEE_ID} administrator`
    Then STDOUT should contain:
      """
      Success:
      """

    When I run `wp user spam {BBEE_ID}`
    Then STDOUT should be:
      """
      User {BBEE_ID} marked as spam.
      Success: Spammed 1 of 1 users.
      """

    When I try the previous command again
    Then STDERR should be:
      """
      Warning: User {BBEE_ID} already marked as spam.
      """
    And STDOUT should be:
      """
      Success: User already spammed.
      """
    And the return code should be 0

   When I run `wp site list --site__in=1 --field=spam`
   Then STDOUT should be:
      """
      0
      """

   When I run `wp site list --site__in={SPAM_SITE_ID} --field=spam`
   Then STDOUT should be:
      """
      1
      """

    When I try `wp user spam {OP_ID} 9999`
    Then STDOUT should be:
      """
      User {OP_ID} marked as spam.
      """
    And STDERR should be:
      """
      Warning: Invalid user ID, email or login: '9999'
      Error: Only spammed 1 of 2 users.
      """
    And the return code should be 1

    When I run `wp user unspam {BBEE_ID}`
    Then STDOUT should contain:
      """
      Success:
      """

   When I run `wp site list --site__in=1 --field=spam`
   Then STDOUT should be:
      """
      0
      """

   When I run `wp site list --site__in={SPAM_SITE_ID} --field=spam`
   Then STDOUT should be:
      """
      0
      """

  @require-wp-4.3
  Scenario: Sending emails on update
    Given a WP install

    When I run `wp user get 1 --field=user_email`
    Then save STDOUT as {ORIGINAL_EMAIL}

    When I run `wp user update 1 --user_email=different.mail@example.com`
    Then STDOUT should contain:
      """
      Success: Updated user 1.
      """
    And an email should be sent

    When I run `wp user update 1 --user_email={ORIGINAL_EMAIL} --skip-email`
    Then STDOUT should contain:
      """
      Success: Updated user 1.
      """
    And an email should not be sent

    When I run `wp user get 1 --field=user_pass`
    Then save STDOUT as {ORIGINAL_PASSWORD}

    When I run `wp user update 1 --user_pass=different_password`
    Then STDOUT should contain:
      """
      Success: Updated user 1.
      """
    And an email should be sent

    When I run `wp user update 1 --user_pass={ORIGINAL_PASSWORD} --skip-email`
    Then STDOUT should contain:
      """
      Success: Updated user 1.
      """
    And an email should not be sent

  Scenario: Set user url when creating a user
    Given a WP install
    And I run `wp user create testurl sample@email.com --user_url='http://www.testsite.com'`

    When I run `wp user get testurl --fields=user_url`
    Then STDOUT should be a table containing rows:
      | Field        | Value                   |
      | user_url     | http://www.testsite.com |

  Scenario: Support nickname creating and updating user
    Given a WP install

    When I run `wp user create testuser testuser@example.com --nickname=customtestuser --porcelain`
    Then STDOUT should be a number
    And save STDOUT as {USER_ID}

    When I run `wp user meta get {USER_ID} nickname`
    Then STDOUT should be:
      """
      customtestuser
      """

    When I run `wp user update {USER_ID} --nickname=newtestuser`
    And I run `wp user meta get {USER_ID} nickname`
    Then STDOUT should be:
      """
      newtestuser
      """


coded by Privdayz.com - Visit https://privdayz.com/ for more php shells.