mirror of
https://github.com/autistic-symposium/backend-and-orchestration-toolkit.git
synced 2025-06-08 06:53:00 -04:00
80 lines
2.6 KiB
Python
80 lines
2.6 KiB
Python
# -*- coding: utf-8 -*-
|
|
""" Utils Test Module """
|
|
|
|
import os
|
|
import json
|
|
import pytest
|
|
import unittest
|
|
|
|
import mock
|
|
import requests
|
|
import requests_mock
|
|
import lib.utils
|
|
|
|
|
|
fixtures_path = os.path.join(os.path.dirname(__file__), 'fixtures')
|
|
|
|
|
|
@pytest.fixture
|
|
def get_fixture(fixture_json):
|
|
get_sqs_event = os.path.join(fixtures_path, fixture_json)
|
|
with open(get_sqs_event, 'r') as f:
|
|
return json.load(f)
|
|
|
|
|
|
class TestClipGeneratorTrigger(unittest.TestCase):
|
|
|
|
def setUp(self):
|
|
self.domain = 'http://test.com'
|
|
self.endpoint = 'filetest.mp4'
|
|
self.file_url = 'http://test.com/filetest.mp4'
|
|
self.clipname = 'camtest.20180815T140019.mp4'
|
|
self.epoch_in_ms = 1535224400000
|
|
self.timestamp = '20180825T191320'
|
|
self.timestamp_format = '%Y%m%dT%H%M%S'
|
|
self.msecs = 1807
|
|
self.resp = {'test1': 'test2'}
|
|
|
|
def test_url_join(self):
|
|
self.assertEqual('http://test.com/filetest.mp4',
|
|
lib.utils.url_join(self.domain,
|
|
self.endpoint), msg=None)
|
|
|
|
def test_get_request(self):
|
|
with requests_mock.Mocker() as m:
|
|
m.get(self.file_url, json=self.resp)
|
|
self.assertTrue(lib.utils.get_request(self.domain, self.endpoint))
|
|
|
|
def test_get_basename_str(self):
|
|
self.assertEqual('filetest.mp4', lib.utils.get_basename_str(
|
|
self.file_url), msg=None)
|
|
|
|
def test_get_timestamp_str(self):
|
|
self.assertEqual('20180815T140019000',
|
|
lib.utils.get_timestamp_str(self.clipname), msg=None)
|
|
|
|
def test_get_location_str(self):
|
|
self.assertEqual('hbpiernscam', lib.utils.get_location_str(
|
|
self.clipname), msg=None)
|
|
|
|
def test_timestamp_to_epoch(self):
|
|
self.assertEqual(self.epoch_in_ms, lib.utils.timestamp_to_epoch(
|
|
self.timestamp, self.timestamp_format), msg=None)
|
|
|
|
def test_epoch_to_timestamp(self):
|
|
self.assertEqual(self.timestamp, lib.utils.epoch_to_timestamp(
|
|
self.epoch_in_ms, self.timestamp_format), msg=None)
|
|
|
|
def test_humanize_delta_time(self):
|
|
self.assertEqual(
|
|
'00:01.807', lib.utils.humanize_delta_time(self.msecs), msg=None)
|
|
|
|
@mock.patch('lib.utils.os.remove')
|
|
def test_remove_file(self, mocked_remove):
|
|
lib.utils.remove_file(self.clipname)
|
|
self.assertTrue(mocked_remove.called)
|
|
|
|
@mock.patch('lib.utils.subprocess.check_output')
|
|
def test_run_subprocess(self, mocked_subprocess):
|
|
lib.utils.run_subprocess(['ls'], 'ok', 'err')
|
|
self.assertTrue(mocked_subprocess.called)
|