예제 #1
0
def test_FirebaseData_repr():
    data = firebase_data.FirebaseData(a=1)
    data_id = id(data)
    data.last_updated_at = datetime.datetime(
        year=2017, month=9, day=2, hour=20, minute=2, second=59
    )
    result = str(data)
    assert result == (
        'FirebaseData('
            'id={}, '
            'last_updated_at=2017-09-02 20:02:59, '
            'data={{\'a\': 1}}'
        ')'.format(data_id)
    )
예제 #2
0
    def test_set_none_initally_update_with_dict(self):
        data = firebase_data.FirebaseData(None)
        data.set('/', {'foo': 1})
        result = data.get()

        assert result == {'foo': 1}
예제 #3
0
 def test_set_different_type(self):
     data = firebase_data.FirebaseData({'foo': 1})
     data.set('/foo/bar', 2)
     assert data == {'foo': {'bar': 2}}
예제 #4
0
def firebase_data():
    return data.FirebaseData({})
예제 #5
0
 def test_set_existing_child(self):
     data = firebase_data.FirebaseData({'foo': {'bar': 1}})
     data.set('/foo/bar', 2)
     assert data == {'foo': {'bar': 2}}
예제 #6
0
 def test_set_root(self):
     data = firebase_data.FirebaseData()
     data.set('/', {'foo': 1})
     assert data == {'foo': 1}
예제 #7
0
 def test_single_value(self):
     data = firebase_data.FirebaseData('a')
     assert data == {}
예제 #8
0
 def test_dict(self):
     data = firebase_data.FirebaseData({'a': 1})
     assert data == {'a': 1}
예제 #9
0
 def test_get_different_type_key(self):
     data = firebase_data.FirebaseData({'foo': 1})
     result = data.get('/foo/bar')
     assert result is None
예제 #10
0
 def test_get_missing_key(self):
     data = firebase_data.FirebaseData()
     result = data.get('/foo/bar')
     assert result is None
예제 #11
0
 def test_get_root(self):
     data = firebase_data.FirebaseData()
     result = data.get('/')
     assert result == {}
예제 #12
0
 def test_unset_missing_child(self):
     data = firebase_data.FirebaseData({'foo': {'bar': 1}})
     data.set('/foo/bar/baz', None)
     assert data == {'foo': {'bar': {}}}
예제 #13
0
 def test_unset_root(self):
     data = firebase_data.FirebaseData({'foo': {'bar': 1}})
     data.set('/', None)
     assert data == {}
예제 #14
0
 def test_set_different_type_then_set_missing(self):
     data = firebase_data.FirebaseData({'foo': 1})
     data.set('/foo/bar', 2)
     data.set('/foo/bar/baz', {'qux': 1})
     assert data == {'foo': {'bar': {'baz': {'qux': 1}}}}
예제 #15
0
 def test_set_missing_then_set_different_type(self):
     data = firebase_data.FirebaseData()
     data.set('/foo', 1)
     data.set('/foo/bar', 2)
     assert data == {'foo': {'bar': 2}}
예제 #16
0
    def test_set_none_initally_update_subpath_with_dict_then_get_path(self):
        data = firebase_data.FirebaseData(None)
        data.set('/foo/bar', 1)
        result = data.get('/foo/bar')

        assert result == 1
예제 #17
0
 def test_empty(self):
     data = firebase_data.FirebaseData()
     assert data == {}
예제 #18
0
 def test_existing_key(self):
     data = firebase_data.FirebaseData({'foo': {'bar': 1}})
     result = data.get('/foo/bar')
     assert result == 1
예제 #19
0
 def test_keys(self):
     data = firebase_data.FirebaseData(a=1)
     assert data == {'a': 1}
예제 #20
0
    def test_set_on_init(self):
        data = firebase_data.FirebaseData()

        assert isinstance(data.last_updated_at, datetime.datetime)
예제 #21
0
 def test_invalid_args(self):
     with pytest.raises(TypeError):
         firebase_data.FirebaseData('a', 'b')
예제 #22
0
 def test_updated_after_update(self):
     old_time = datetime.datetime.utcnow()
     data = firebase_data.FirebaseData()
     data.set('foo', 'bar')
     assert data.last_updated_at > old_time
예제 #23
0
 def test_set_missing_child(self):
     data = firebase_data.FirebaseData()
     data.set('/foo/bar', 1)
     assert data == {'foo': {'bar': 1}}
예제 #24
0
    def test_set_none_initially(self):
        data = firebase_data.FirebaseData(None)
        result = data.get()

        assert result is None
예제 #25
0
 def test_set_missing_then_set_existing(self):
     data = firebase_data.FirebaseData()
     data.set('/foo', {'bar': 1})
     data.set('/foo/bar', 2)
     assert data == {'foo': {'bar': 2}}
예제 #26
0
    def test_set_str_initially(self):
        data = firebase_data.FirebaseData('hello')
        result = data.get()

        assert result == 'hello'
예제 #27
0
    def test_no_default_data(self, livedata, mocker):
        livedata.get_data = mocker.Mock(return_value=data.FirebaseData(None))

        result = livedata.is_stale()

        assert result is False
예제 #28
0
    def test_set_none_initally_update_string(self):
        data = firebase_data.FirebaseData(None)
        data.set('/', 'hello')
        result = data.get()

        assert result == 'hello'