def test_btype_eq(self): a = BucketType('client', 'a') b = BucketType('client', 'a') c = BucketType(None, 'a') d = BucketType(None, 'a') self.assertEqual(a, b) self.assertEqual(c, d)
def test_bucket_nq(self): default_bt = BucketType(None, "default") foo_bt = BucketType(None, "foo") a = RiakBucket('client', 'a', default_bt) b = RiakBucket('client', 'b', default_bt) c = RiakBucket('client', 'a', foo_bt) self.assertNotEqual(a, b, 'matched with a different bucket') self.assertNotEqual(a, c, 'matched with a different bucket type')
def test_btype_nq(self): a = BucketType('client', 'a') b = BucketType('client', 'b') c = BucketType(None, 'a') d = BucketType(None, 'a') self.assertNotEqual(a, b, "matched with different name, same client") self.assertNotEqual(a, c, "matched with different client, same name") self.assertNotEqual(b, d, "matched with nothing in common")
def test_bucket_eq(self): default_bt = BucketType(None, "default") foo_bt = BucketType(None, "foo") a = RiakBucket('client', 'a', default_bt) b = RiakBucket('client', 'a', default_bt) c = RiakBucket('client', 'a', foo_bt) d = RiakBucket('client', 'a', foo_bt) self.assertEqual(a, b) self.assertEqual(c, d)
def test_btype_hash(self): a = BucketType('client', 'a') b = BucketType('client', 'a') c = BucketType('client', 'c') d = BucketType('client2', 'a') self.assertEqual(hash(a), hash(b), 'same bucket type has different hashes') self.assertNotEqual(hash(a), hash(c), 'different bucket has same hash') self.assertNotEqual( hash(a), hash(d), 'same bucket type, different client has same hash')
def test_bucket_hash(self): default_bt = BucketType(None, "default") foo_bt = BucketType(None, "foo") a = RiakBucket('client', 'a', default_bt) b = RiakBucket('client', 'a', default_bt) c = RiakBucket('client', 'c', default_bt) d = RiakBucket('client', 'a', foo_bt) self.assertEqual(hash(a), hash(b), 'same bucket has different hashes') self.assertNotEqual(hash(a), hash(c), 'different bucket has same hash') self.assertNotEqual( hash(a), hash(d), 'same bucket, different bucket type has same hash')
def test_object_nq(self): a = RiakObject(None, 'bucket', 'key') b = RiakObject(None, 'bucket', 'not key') c = RiakObject(None, 'not bucket', 'key') self.assertNotEqual(a, b, 'matched with different keys') self.assertNotEqual(a, c, 'matched with different buckets') default_bt = BucketType(None, "default") foo_bt = BucketType(None, "foo") bucket_a = RiakBucket('client', 'a', default_bt) bucket_b = RiakBucket('client', 'a', foo_bt) c = RiakObject(None, bucket_a, 'key') d = RiakObject(None, bucket_b, 'key') self.assertNotEqual(c, d)
def test_object_eq(self): a = RiakObject(None, 'bucket', 'key') b = RiakObject(None, 'bucket', 'key') self.assertEqual(a, b) default_bt = BucketType(None, "default") bucket_a = RiakBucket('client', 'a', default_bt) bucket_b = RiakBucket('client', 'a', default_bt) c = RiakObject(None, bucket_a, 'key') d = RiakObject(None, bucket_b, 'key') self.assertEqual(c, d)
def test_object_hash(self): a = RiakObject(None, 'bucket', 'key') b = RiakObject(None, 'bucket', 'key') c = RiakObject(None, 'bucket', 'not key') self.assertEqual(hash(a), hash(b), 'same object has different hashes') self.assertNotEqual(hash(a), hash(c), 'different object has same hash') default_bt = BucketType(None, "default") foo_bt = BucketType(None, "foo") bucket_a = RiakBucket('client', 'a', default_bt) bucket_b = RiakBucket('client', 'a', foo_bt) d = RiakObject(None, bucket_a, 'key') e = RiakObject(None, bucket_a, 'key') f = RiakObject(None, bucket_b, 'key') g = RiakObject(None, bucket_b, 'not key') self.assertEqual(hash(d), hash(e), 'same object, same bucket_type has different hashes') self.assertNotEqual( hash(e), hash(f), 'same object, different bucket type has the ' 'same hash') self.assertNotEqual( hash(d), hash(g), 'different object, different bucket ' 'type has same hash')
def bucket_type(self, name): """ Gets the bucket-type by the specified name. Bucket-types do not always exist (unlike buckets), but this will always return a :class:`BucketType <riak.bucket.BucketType>` object. :param name: the bucket-type name :type name: str :rtype: :class:`BucketType <riak.bucket.BucketType>` """ if not isinstance(name, string_types): raise TypeError('BucketType name must be a string') btype = BucketType(self, name) return self._setdefault_handle_none( self._bucket_types, name, btype)
def bucket_type(self, name): """ Gets the bucket-type by the specified name. Bucket-types do not always exist (unlike buckets), but this will always return a :class:`BucketType <riak.bucket.BucketType>` object. :param name: the bucket-type name :type name: str :rtype: :class:`BucketType <riak.bucket.BucketType>` """ if not isinstance(name, string_types): raise TypeError('BucketType name must be a string') if name in self._bucket_types: return self._bucket_types[name] else: btype = BucketType(self, name) self._bucket_types[name] = btype return btype