Skip to content

Commit

Permalink
Merge pull request #1145 from xliiv/release/2.1.0
Browse files Browse the repository at this point in the history
added get_environments method to ServiceCatalog
  • Loading branch information
xor-xor committed Oct 10, 2014
2 parents 4b1663b + ff237e4 commit 93961e4
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 0 deletions.
7 changes: 7 additions & 0 deletions src/ralph/discovery/models_device.py
Expand Up @@ -311,6 +311,13 @@ class Meta:
def __unicode__(self):
return self.name

def get_environments(self):
env_ids_from_service = models_ci.CIRelation.objects.filter(
parent=self.id,
).values('child__id')
envs = DeviceEnvironment.objects.filter(id__in=env_ids_from_service)
return envs


class Device(
LastSeen,
Expand Down
15 changes: 15 additions & 0 deletions src/ralph/discovery/tests/test_models.py
Expand Up @@ -10,6 +10,11 @@
from django.test import TestCase
import mock

from ralph.cmdb.tests.utils import (
CIRelationFactory,
DeviceEnvironmentFactory,
ServiceCatalogFactory,
)
from ralph.discovery.models import DeviceType, Device, UptimeSupport
from ralph.discovery.models_history import HistoryChange

Expand Down Expand Up @@ -82,3 +87,13 @@ class Model(UptimeSupport):
self.assertEqual(m.uptime, None)
m.uptime = 132
self.assertEqual(m.uptime, datetime.timedelta(seconds=132))


class ServiceEnvironments(TestCase):

def test_getting_environments(self):
service = ServiceCatalogFactory()
env = DeviceEnvironmentFactory()
self.assertEqual(len(service.get_environments()), 0)
CIRelationFactory(parent=service, child=env)
self.assertEqual(len(service.get_environments()), 1)

0 comments on commit 93961e4

Please sign in to comment.