Sha256: 3ae9982771b792f9ba8c1d801260b754521dd9468ee385bb4122a27eb37d618d

Contents?: true

Size: 1.64 KB

Versions: 8

Compression:

Stored size: 1.64 KB

Contents

require 'minitest/autorun'
require 'legitbot'

class PinterestTest < Minitest::Test
  def test_malicious_ip
    ip = "149.210.164.47"
    match = Legitbot::Pinterest.new ip
    reverse_name = match.reverse_name
    assert !match.subdomain_of?("pinterest.com."), msg: "#{reverse_name} is not a subdomain of pinterest.com"
    assert !match.valid?, msg: "#{ip} is not a real Pinterest IP"
  end

  def test_valid_ip
    ip = "54.236.1.11"
    match = Legitbot::Pinterest.new ip
    reverse_name = match.reverse_name
    assert match.subdomain_of?("pinterest.com."), msg: "#{reverse_name} is a subdomain of pinterest.com"
    assert match.valid?, msg: "#{ip} is a valid Pinterest IP"
  end

  def test_malicious_ua
    bot = Legitbot.bot("Mozilla/5.0 (compatible; Pinterestbot/1.0; +https://www.pinterest.com/bot.html)", "149.210.164.47")
    assert bot, msg: "Pinterest detected from User-Agent"
    assert !bot.valid?, msg: "Not a valid Pinterest"
  end

  def test_valid_ua
    bot = Legitbot.bot("Mozilla/5.0 (compatible; Pinterestbot/1.0; +https://www.pinterest.com/bot.html)", "54.236.1.11")
    assert bot, msg: "Pinterest detected from User-Agent"
    assert bot.valid?, msg: "Valid Pinterest"
  end

  def test_android_not_bot
    bot = Legitbot.bot("Mozilla/5.0 (Linux; Android 8.0.0; SM-G965F Build/R16NW; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/70.0.3538.64 Mobile Safari/537.36 [Pinterest/Android]", "85.117.106.133")
    assert_nil bot
  end

  def test_engine_name
    bot = Legitbot.bot("Mozilla/5.0 (compatible; Pinterestbot/1.0; +https://www.pinterest.com/bot.html)", "54.236.1.11")
    assert_equal :pinterest, bot.detected_as
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
legitbot-0.3.2 test/pinterest_test.rb
legitbot-0.3.1 test/pinterest_test.rb
legitbot-0.3.0 test/pinterest_test.rb
legitbot-0.2.7 test/pinterest_test.rb
legitbot-0.2.6 test/pinterest_test.rb
legitbot-0.2.4 test/pinterest_test.rb
legitbot-0.2.3 test/pinterest_test.rb
legitbot-0.2.2 test/pinterest_test.rb