def test_name(): # Arrange osbreed = OsBreed("test") # Act with pytest.raises(TypeError) as e_info: osbreed.name = ""
def test_breed_add_type_error(): # Arrange osbreed = OsBreed("test") # Act & Arrange with pytest.raises(ValueError): osbreed.osversion_add(0, "")
def test_osversions(): # Arrange osbreed = OsBreed("suse") new_value = [] # Act & Assert with pytest.raises(TypeError): osbreed.osversions = new_value assert isinstance(osbreed._osversions, collections.OrderedDict)
def test_name(): # Arrange osbreed = OsBreed("test") # Act osbreed.name = "Test" # Assert osbreed.name = "Test"
def test_osversions_delete(): # Arrange osbreed = OsBreed("suse") # Act osbreed.osversion_add("susesp1", Osversion()) del osbreed.osversions # Arrange assert osbreed.osversions == collections.OrderedDict()
def test_breed_add(): # Arrange itemname = "test" osbreed = OsBreed(itemname) # Act osbreed.osversion_add(itemname, Osversion()) # Assert assert itemname in osbreed.osversions
def test_decode(): # Arrange breed = OsBreed("test") data = {"version1": {}, "version2": {}} # Act breed.decode(data) # Assert assert breed.osversions["version1"] assert breed.osversions["version2"]
def jsontomodels(self): """ Convert the loaded JSON to the internal modules. Without calling this the loaded data will not be available for manipulation. """ missing_rootkey = object() breeds = self.signaturesjson.get(self._rootkey, missing_rootkey) if breeds is missing_rootkey: raise AttributeError("Missing Rootkey \"" + self._rootkey + "\".") for key in breeds: breed = OsBreed(key) breed.decode(breeds[key]) self.osbreeds.append(breed)
def test_encode(): # Arrange breed = OsBreed("test") breed.osversion_add("test1", Osversion()) breed.osversion_add("test2", Osversion()) # Act result = breed.encode() # Assert assert isinstance(result, dict) assert "test1" in result assert "test2" in result assert isinstance(result["test1"], dict)
def test_name_delete(): # Arrange osbreed = OsBreed("test") # Act & Assert with pytest.raises(TypeError): del osbreed.name assert osbreed.name == "test"
def addosbreed(self, name: str): """ Add a new :class:`OsBreed`. :param name: The name of the new breed. Must not exist in the currently loaded models. """ if name in [x.name for x in self.osbreeds]: raise ValueError("Breed \"%s\" already in the list of breeds!" % name) self.osbreeds.append(OsBreed(name))
def test_breed_remove(): # Arrange itemname = "test" osbreed = OsBreed(itemname) osbreed.osversion_add(itemname, Osversion()) # Act osbreed.osversion_remove(itemname)
def test_signaturesjson(input_data, result, raises): # Arrange os_signatures = Signatures() with raises: os_signatures.importsignatures(ImportTypes.STRING, input_data) # Act os_signatures.signaturesjson = input_data # Assert assert result == os_signatures.signaturesjson @pytest.mark.parametrize("input_data,expected_data", [ ("{\"breeds\": {}}", []), ("{\"breeds\": {\"suse\": {}}}", [OsBreed("suse")]) ]) def test_jsontomodels(input_data, expected_data): # Arrange os_signatures = Signatures() os_signatures.importsignatures(ImportTypes.STRING, input_data) # Act os_signatures.jsontomodels() # Assert assert expected_data == os_signatures.osbreeds def test_addosbreed(): # Arrange
def test_osbreed_non_equality(): # Arrange, Act & Assert assert not OsBreed("test") == Osversion()
def test_osbreed_equality(): assert OsBreed("test") == OsBreed("test")
def test_breed_no_name(): # Arrange, Act & Assert with pytest.raises(TypeError) as e_info: OsBreed()
def test_osbreed_equality(): # Arrange, Act & Assert assert OsBreed("test") == OsBreed("test")
def test_breed_no_name(): with pytest.raises(TypeError) as e_info: OsBreed()
def addosbreed(self, name): self.osbreeds.append(OsBreed(name))
def jsontomodels(self): for k, v in self.signaturesjson.get("breeds"): breed = OsBreed(k) breed.decode(v) self.osbreeds.append(breed)