Example #1
0
    def setUp(self):

        self._file = tempfile.gettempdir()+'/tmp.xml';
        if not os.path.exists(self._file):
            open(self._file, 'a').close();
        os.utime(self._file, None);
        self._resource = FileResource(self._file);
Example #2
0
    def testIsFresh(self):
        """
        @covers Symfony\Component\Config\Resource\FileResource.isFresh

        """

        self.assertTrue(self._resource.isFresh(time() + 10), '->isFresh() returns True if the resource has not changed');
        self.assertFalse(self._resource.isFresh(time() - 86400), '->isFresh() returns False if the resource has been updated');

        resource = FileResource('/____foo/foobar'+str(rand(1, 999999)));
        self.assertFalse(resource.isFresh(time()), '->isFresh() returns False if the resource does not exist');
Example #3
0
    def load(self, resource, resourceType=None):
        path = self._locator.locate(resource)

        content = self._parseFile(path)

        self._container.addResource(FileResource(path))

        # empty file
        if content is None:
            return

        # imports
        self.__parseImports(content, path)

        # parameters
        if 'parameters' in content:
            for key, value in content['parameters'].items():
                self._container.setParameter(key,
                                             self.__resolveServices(value))

        # extensions
        self.__loadFromExtensions(content)

        # services
        self.__parseDefinitions(content, resource)
Example #4
0
    def load(self, resource, resourceType=None):
        path = self._locator.locate(resource)

        self._container.addResource(FileResource(path))

        content = self._parseFile(path)

        if not content:
            return

        self.__parseParameters(content)
Example #5
0
class FileResourceTest(unittest.TestCase):

    def setUp(self):

        self._file = tempfile.gettempdir()+'/tmp.xml';
        if not os.path.exists(self._file):
            open(self._file, 'a').close();
        os.utime(self._file, None);
        self._resource = FileResource(self._file);


    def tearDown(self):

        os.unlink(self._file);


    def testGetResource(self):
        """
        @covers Symfony\Component\Config\Resource\FileResource.getResource

        """

        self.assertEqual(os.path.realpath(self._file), self._resource.getResource(), '->getResource() returns the path to the resource');


    def testIsFresh(self):
        """
        @covers Symfony\Component\Config\Resource\FileResource.isFresh

        """

        self.assertTrue(self._resource.isFresh(time() + 10), '->isFresh() returns True if the resource has not changed');
        self.assertFalse(self._resource.isFresh(time() - 86400), '->isFresh() returns False if the resource has been updated');

        resource = FileResource('/____foo/foobar'+str(rand(1, 999999)));
        self.assertFalse(resource.isFresh(time()), '->isFresh() returns False if the resource does not exist');
Example #6
0
    def addObjectResource(self, objectResource):
        """Adds the object class hierarchy as resources.

        @param: object object An object instance

        @return RouteCollection The current instance

        """
        assert isinstance(objectResource, Object)

        parent = ReflectionObject(objectResource)
        while parent:
            self.addResource(FileResource(parent.getFileName()))
            parent = parent.getParentClass()

        return self
Example #7
0
    def getConfiguration(self, configs, container):
        assert isinstance(configs, list)
        assert isinstance(container, ContainerBuilder)

        className = ReflectionObject(
            self).getNamespaceName() + '.' + 'Configuration'

        r = ReflectionClass(className)

        if r.exists():
            configuration = r.newInstance()
            path = ReflectionObject(configuration).getFileName()
            container.addResource(FileResource(path))
            return configuration

        return None
Example #8
0
    def addObjectResource(self, objectResource):
        """Adds the object class hierarchy(, as resources.):

        @param: object object An object instance

        @return ContainerBuilder The current instance

        @api

        """
        assert isinstance(objectResource, Object)
        if not self.__trackResources:
            return self

        parent = ReflectionObject(objectResource)
        while parent:
            self.addResource(FileResource(parent.getFileName()))
            parent = parent.getParentClass()

        return self
Example #9
0
    def load(self, filename, resource_type=None):
        """Loads a Yaml file.

        @param: string      file A Yaml file path
        @param string|None resource_type The resource type

        @return RouteCollection A RouteCollection instance

        @raise InvalidArgumentException When a route can't be parsed because YAML is invalid

        @api

        """

        path = self._locator.locate(filename)

        configs = self._parseFile(path)

        collection = RouteCollection()
        collection.addResource(FileResource(path))

        # empty file
        if (None is configs):
            return collection

        # not a OrderedDict
        if not isinstance(configs, OrderedDict):
            raise InvalidArgumentException(
                'The file "{0}" must contain a Json object.'.format(path))

        for name, config in configs.items():

            self._validate(config, name, path)

            if 'resource' in config:
                self._parseImport(collection, config, path, filename)
            else:
                self._parseRoute(collection, name, config, path)

        return collection