File: test_users.rb

package info (click to toggle)
ruby-fog-google 1.19.0-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 2,568 kB
  • sloc: ruby: 16,775; makefile: 3
file content (37 lines) | stat: -rw-r--r-- 1,101 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
require "helpers/integration_test_helper"
require "integration/factories/sql_instances_factory"
require "integration/factories/sql_users_factory"

class TestSQLUsers < FogIntegrationTest
  # This test doesn't include TestCollection as Users is not a
  # classical Fog model, as it's tied to a particular instance
  # I.e.:
  # - Fog::Google::SQL.users.all() requires an instance
  # - API doesn't provide a GET request for Users model
  # See: https://cloud.google.com/sql/docs/mysql/admin-api/v1beta4/users

  def setup
    @subject = Fog::Google[:sql].users
    @factory = SqlUsersFactory.new(namespaced_name)
  end

  def teardown
    @factory.cleanup
  end

  def test_users
    # Create user
    user = @factory.create

    # Check user was created
    users = @subject.all(user.instance).select { |u| u.name == user.name }
    assert_equal(1, users.size, "expected user to have been created")

    # Delete user
    users.first.destroy(:async => false)
    assert_empty(
      @subject.all(user.instance).select { |u| u.name == user.name },
      "expected no user #{user.name}"
    )
  end
end