Skip to content
Snippets Groups Projects
provider_test.rb 1.63 KiB
Newer Older
Arnaud Levy's avatar
Arnaud Levy committed
require "test_helper"

class Video::ProviderTest < ActiveSupport::TestCase

Sébastien Gaya's avatar
Sébastien Gaya committed
  def test_provider_empty
Arnaud Levy's avatar
Arnaud Levy committed
    provider = Video::Provider.find('')
    assert_equal Video::Provider::Default, provider.class
  end

Sébastien Gaya's avatar
Sébastien Gaya committed
  def test_vimeo
Arnaud Levy's avatar
Arnaud Levy committed
    provider = Video::Provider.find('https://vimeo.com/248482251')
    assert_equal Video::Provider::Vimeo, provider.class
Arnaud Levy's avatar
Arnaud Levy committed
    assert "player.vimeo.com".in?(provider.csp_domains)
Sébastien Gaya's avatar
Sébastien Gaya committed
  def test_youtube
Arnaud Levy's avatar
Arnaud Levy committed
    provider = Video::Provider.find('https://www.youtube.com/watch?v=sN8Cq5HEBug')
    assert_equal Video::Provider::Youtube, provider.class
Arnaud Levy's avatar
Arnaud Levy committed
    assert "www.youtube.com".in?(provider.csp_domains)
Arnaud Levy's avatar
Arnaud Levy committed
    provider = Video::Provider.find('https://youtu.be/sN8Cq5HEBug')
    assert_equal Video::Provider::Youtube, provider.class
Arnaud Levy's avatar
Arnaud Levy committed
    assert "www.youtube.com".in?(provider.csp_domains)
Sébastien Gaya's avatar
Sébastien Gaya committed
  def test_dailymotion
Arnaud Levy's avatar
Arnaud Levy committed
    provider = Video::Provider.find('https://www.dailymotion.com/video/x35l6b8')
    assert_equal Video::Provider::Dailymotion, provider.class
Arnaud Levy's avatar
Arnaud Levy committed
    assert "www.dailymotion.com".in?(provider.csp_domains)
Arnaud Levy's avatar
Arnaud Levy committed
    provider = Video::Provider.find('https://dai.ly/x35l6b8')
    assert_equal Video::Provider::Dailymotion, provider.class
Arnaud Levy's avatar
Arnaud Levy committed
    assert "www.dailymotion.com".in?(provider.csp_domains)
Sébastien Gaya's avatar
Sébastien Gaya committed
  def test_peertube
Arnaud Levy's avatar
Arnaud Levy committed
    provider = Video::Provider.find('https://peertube.fr/w/1i848Qvi7Q3ytW2uPY8AxG')
    assert_equal Video::Provider::Peertube, provider.class
Arnaud Levy's avatar
Arnaud Levy committed
    assert "peertube.fr".in?(provider.csp_domains)
Arnaud Levy's avatar
Arnaud Levy committed
    provider = Video::Provider.find('https://peertube.my.noesya.coop/w/qBMwAAULLA9oadFgbtdyq8')
    assert_equal Video::Provider::Peertube, provider.class
Arnaud Levy's avatar
Arnaud Levy committed
    assert "peertube.my.noesya.coop".in?(provider.csp_domains)
Arnaud Levy's avatar
Arnaud Levy committed
  end
end