If no secrets file, load from environment variables. For Travis CI testing.

This commit is contained in:
hugovk 2014-03-02 11:49:46 +02:00
parent 897d0a132c
commit baa4e782b6
2 changed files with 24 additions and 11 deletions

View file

@ -1,10 +1,14 @@
language: python language: python
python: python:
- "2.6" - '2.6'
- "2.7" - '2.7'
- "3.2" - '3.2'
- "3.3" - '3.3'
# command to install dependencies install: pip install -r requirements.txt
install: "pip install -r requirements.txt"
# command to run tests
script: ./test_pylast.py script: ./test_pylast.py
env:
matrix:
- secure: ivg6II471E9HV8xyqnawLIuP/sZ0J63Y+BC0BQcRVKtLn/K3zmD1ozM3TFL9S549Nxd0FqDKHXJvXsgaTGIDpK8sxE2AMKV5IojyM0iAVuN7YjPK9vwSlRw1u0EysPMFqxOZVQnoDyHrSGIUrP/VMdnhBu6dbUX0FyEkvZshXhY=
- secure: gDWNEYA1EUv4G230/KzcTgcmEST0nf2FeW/z/prsoQBu+TWw1rKKSJAJeMLvuI1z4aYqqNYdmqjWyNhhVK3p5wmFP2lxbhaBT1jDsxxFpePc0nUkdAQOOD0yBpbBGkqkjjxU34HjTX2NFNEbcM3izVVE9oQmS5r4oFFNJgdL91c=
- secure: RpsZblHFU7a5dnkO/JUgi70RkNJwoUh3jJqVo1oOLjL+lvuAmPXhI8MDk2diUk43X+XCBFBEnm7UCGnjUF+hDnobO4T+VrIFuVJWg3C7iKIT+YWvgG6A+CSeo/P0I0dAeUscTr5z4ylOq3EDx4MFSa8DmoWMmjKTAG1GAeTlY2k=
- secure: T5OKyd5Bs0nZbUr+YICbThC5GrFq/kUjX8FokzCv7NWsYaUWIwEmMXXzoYALoB3A+rAglOx6GABaupoNKKg3tFQyxXphuMKpZ8MasMAMFjFW0d7wsgGy0ylhVwrgoKzDbCQ5FKbohC+9ltLs+kKMCQ0L+MI70a/zTfF4/dVWO/o=

View file

@ -2,6 +2,7 @@
""" """
Integration (not unit) tests for pylast.py Integration (not unit) tests for pylast.py
""" """
import os
import time import time
import unittest import unittest
import yaml # pip install pyyaml import yaml # pip install pyyaml
@ -9,10 +10,19 @@ import yaml # pip install pyyaml
import pylast import pylast
def load_secrets(): def load_secrets():
with open("test_pylast.yaml", "r") as f: # see test_pylast_example.yaml secrets_file = "test_pylast.yaml"
doc = yaml.load(f) if os.path.isfile(secrets_file):
with open(secrets_file, "r") as f: # see test_pylast_example.yaml
doc = yaml.load(f)
else:
doc = {}
doc["username"] = os.environ['PYLAST_USERNAME'].strip()
doc["password_hash"] = os.environ['PYLAST_PASSWORD_HASH'].strip()
doc["api_key"] = os.environ['PYLAST_API_KEY'].strip()
doc["api_secret"] = os.environ['PYLAST_API_SECRET'].strip()
return doc return doc
class TestPyLast(unittest.TestCase): class TestPyLast(unittest.TestCase):
secrets = None secrets = None
@ -56,7 +66,6 @@ class TestPyLast(unittest.TestCase):
artist = "Test Artist 2" artist = "Test Artist 2"
title = "Test Title 2" title = "Test Title 2"
timestamp = self.unix_timestamp() timestamp = self.unix_timestamp()
print timestamp
library = pylast.Library(user = self.username, network = self.network) library = pylast.Library(user = self.username, network = self.network)
self.network.scrobble(artist = artist, title = title, timestamp = timestamp) self.network.scrobble(artist = artist, title = title, timestamp = timestamp)
lastfm_user = self.network.get_user(self.username) lastfm_user = self.network.get_user(self.username)
@ -364,7 +373,7 @@ class TestPyLast(unittest.TestCase):
if __name__ == '__main__': if __name__ == '__main__':
# For quick testing of a single-case (eg. test = "test_track_is_hashable" # For quick testing of a single-case (eg. test = "test_scrobble")
test = "" test = ""
if test is not None and len(test): if test is not None and len(test):