'Fails unless all items in ``dict2`` are found from ``dict1``.
See `Lists Should Be Equal` for more information about configuring
the error message with ``msg`` and ``values`` arguments.
The given dictionaries are never altered by this keyword.'

def dictionary_should_contain_sub_dictionary(self, dict1, dict2, msg=None, values=True):

    keys = self.get_dictionary_keys(dict2)
    diffs = [unic(k) for k in keys if (k not in dict1)]
    default = ('Following    keys    missing    from    first    dictionary:    %s' % ',    '.join(diffs))
    _verify_condition((not diffs), default, msg, values)
    self._key_values_should_be_equal(keys, dict1, dict2, msg, values)
