コード例 #1
0
    def test_reference_save(self, reqmock):
        reqmock.get('https://api/foos/abc123',
                    status_code=200,
                    text='{"id": "abc123", "server_generated": "foo"}')
        r = Reference('https://api/foos/abc123')
        assert r.id == 'abc123'
        assert r._id == 'abc123'

        # Check to ensure Class attribute is not touched.
        assert Reference._id is None
        assert Reference._href is None
        assert Reference._resolved is False

        # check that _id and _href are not updated when simply calling an
        # attribute.
        reqmock.put('https://api/foos/def123',
                    status_code=200,
                    text='{"id": "def123", "server_generated": "bar"}')
        r.id = 'def123'
        r.server_generated
        assert r._id == 'abc123'
        assert Reference._id is None
        assert Reference._href is None
        assert Reference._resolved is False

        r.save()
        assert r.id == r._id
        assert r._href == 'https://api/foos/def123'
        assert Reference._id is None
        assert Reference._href is None
        assert Reference._resolved is False
コード例 #2
0
    def test_reference_reload(self, reqmock):
        reqmock.get('https://api/foos/abc123', status_code=200,
                    text='{"id": "abc123", "server_generated": "foo"}')
        r = Reference('https://api/foos/abc123')
        assert r.id == 'abc123'
        assert r._id == 'abc123'

        # The retrieve method should not result in a change to the _id or _href
        # attributes
        reqmock.get('https://api/foos/def123', status_code=200,
                    text='{"id": "def123", "server_generated": "bar"}')
        r.id = 'def123'
        r.reload()
        assert r._id == 'def123'
        assert r._href == 'https://api/foos/def123'
        assert Reference._id is None
        assert Reference._href is None
        assert Reference._resolved is False