Sha256: f93a42e961c1c609a9c777ecb8c8f9edf988592ccdecce77a9d83919a345bba3

Contents?: true

Size: 1.76 KB

Versions: 15

Compression:

Stored size: 1.76 KB

Contents

require_relative 'base_test'

class AccountClientTest < BaseTest
  describe 'Account client' do
    def test_account_client
      index1 = @@search_client.init_index(get_test_index_name('copy_index'))
      index2 = @@search_client.init_index(get_test_index_name('copy_index2'))

      exception = assert_raises Algolia::AlgoliaError do
        Algolia::Account::Client.copy_index(index1, index2)
      end

      assert_equal 'The indices are on the same application. Use Algolia::Search::Client.copy_index instead.', exception.message

      search_client2 = Algolia::Search::Client.create(APPLICATION_ID_2, ADMIN_KEY_2)
      index2         = search_client2.init_index(get_test_index_name('copy_index2'))
      index1.save_object!({ objectID: 'one' })
      index1.save_rule!({
        objectID: 'one',
        condition: { anchoring: 'is', pattern: 'pattern' },
        consequence: {
          params: {
            query: {
              edits: [
                { type: 'remove', delete: 'pattern' }
              ]
            }
          }
        }
      })
      index1.save_synonym!({ objectID: 'one', type: 'synonym', synonyms: %w(one two) })
      index1.set_settings!({ searchableAttributes: ['objectID'] })

      Algolia::Account::Client.copy_index!(index1, index2)
      assert_equal 'one', index2.get_object('one')[:objectID]
      assert_equal 'one', index2.get_synonym('one')[:objectID]
      assert_equal 'one', index2.get_rule('one')[:objectID]
      assert index2.get_settings[:searchableAttributes]

      exception = assert_raises Algolia::AlgoliaError do
        Algolia::Account::Client.copy_index(index1, index2)
      end

      assert_equal 'Destination index already exists. Please delete it before copying index across applications.', exception.message
    end
  end
end

Version data entries

15 entries across 15 versions & 1 rubygems

Version Path
algolia-2.2.2 test/algolia/integration/account_client_test.rb
algolia-2.2.1 test/algolia/integration/account_client_test.rb
algolia-2.2.0 test/algolia/integration/account_client_test.rb
algolia-2.1.1 test/algolia/integration/account_client_test.rb
algolia-2.0.4 test/algolia/integration/account_client_test.rb
algolia-2.0.3 test/algolia/integration/account_client_test.rb
algolia-2.0.2 test/algolia/integration/account_client_test.rb
algolia-2.0.1 test/algolia/integration/account_client_test.rb
algolia-2.0.0 test/algolia/integration/account_client_test.rb
algolia-2.0.0.pre.beta.3 test/algolia/integration/account_client_test.rb
algolia-2.0.0.pre.beta.2 test/algolia/integration/account_client_test.rb
algolia-2.0.0.pre.beta.1 test/algolia/integration/account_client_test.rb
algolia-2.0.0.pre.alpha.4 test/algolia/integration/account_client_test.rb
algolia-2.0.0.pre.alpha.3 test/algolia/integration/account_client_test.rb
algolia-2.0.0.pre.alpha.2 test/algolia/integration/account_client_test.rb