1
1
# -*- coding: utf-8 -*-
2
2
# Elisa - Home multimedia server
3
# Copyright (C) 2006-2008 Fluendo Embedded S.L. (www.fluendo.com).
3
# Copyright (C) 2008-2009 Fluendo Embedded S.L. (www.fluendo.com).
4
4
# All rights reserved.
6
6
# This file is available under one of two license agreements.
14
14
# See "LICENSE.Elisa" in the root directory of this distribution package
15
15
# for details on that license.
17
# Author: Benjamin Kampmann <benjamin@fluendo.com>
17
# Authors: Benjamin Kampmann <benjamin@fluendo.com>
18
# Olivier Tilloy <olivier@fluendo.com>
20
21
A simple import and initialize test for the base models.
73
71
def test_from_dict(self):
75
dictionary['name'] = 'elisa-plugin-test'
76
dictionary['tags'] = ['test', 'plugin', 'elisa']
77
dictionary['uri'] = 'http://elisa-plugins.com/elisa-plugin-test'
78
dictionary['description'] = 'A test plugin that does nothing.'
79
dictionary['version'] = '0.1.4'
80
dictionary['platforms'] = 'linux, win32'
81
73
dictionary['icons'] = str([{'uri': 'icon1'}, {'uri': 'icon2'}])
82
74
model = plugin.PluginModel.from_dict(dictionary)
83
self.failUnlessEqual(model.name, 'elisa-plugin-test')
84
self.failUnlessEqual(model.tags, ['test', 'plugin', 'elisa'])
85
self.failUnlessEqual(model.uri,
86
'http://elisa-plugins.com/elisa-plugin-test')
87
self.failUnlessEqual(model.description,
88
'A test plugin that does nothing.')
89
self.failUnlessEqual(model.version, LooseVersion('0.1.4'))
90
self.failUnlessEqual(model.platforms, ['linux', 'win32'])
91
75
self.failUnlessEqual(len(model.icons), 2)
92
76
self.failUnless(isinstance(model.icons[0], image.ImageModel))
93
77
self.failUnlessEqual(len(model.icons[0].references), 1)
97
81
self.failUnlessEqual(model.icons[1].references[0], MediaUri('icon2'))
99
83
def test_from_distribution(self):
100
distribution = Distribution(project_name='elisa-plugin-test',
102
distribution.author = 'Elisa Developers'
103
distribution.license = 'GPLv3'
104
distribution.summary = 'A test plugin'
105
distribution.description = 'A test plugin that does nothing.'
106
model = plugin.PluginModel.from_distribution(distribution)
107
self.failUnlessEqual(model.name, 'elisa-plugin-test')
108
self.failUnlessEqual(model.version, LooseVersion('0.1.4'))
109
self.failUnlessEqual(model.author_name, 'Elisa Developers')
110
self.failUnlessEqual(model.license, 'GPLv3')
111
self.failUnlessEqual(model.title, 'A test plugin')
112
self.failUnlessEqual(model.description,
113
'A test plugin that does nothing.')
115
test_from_distribution.todo = "Update test to recent changes"
84
raise NotImplementedError()
86
test_from_distribution.todo = 'Implement me!'