private:
PatchMessageReportReceiver _messageReceiver;
PatchScriptReportReceiver _scriptReceiver;
- RemoveResolvableReportReceiver _installReceiver;
- InstallResolvableReportReceiver _removeReceiver;
+ RemoveResolvableReportReceiver _removeReceiver;
+ InstallResolvableReportReceiver _installReceiver;
Target_Type _instance;
public:
return _instance;
}
};
+
+
+/*
+ * A (dummy) commit callback emitter used for testing only
+ *
+ */
+
+class CommitCallbacksEmitter {
+ private:
+ callback::SendReport<target::rpm::RemoveResolvableReport> remove_resolvable;
+ callback::SendReport<target::PatchMessageReport> patch_message;
+ callback::SendReport<target::PatchScriptReport> patch_script;
+ callback::SendReport<target::rpm::InstallResolvableReport> install_resolvable;
+ public:
+ void remove_start(zypp::ResObject::constPtr resobj)
+ {
+ remove_resolvable->start( resobj );
+ }
+};
+
import sys
sys.path.insert(0, cwd + "/../../../build/swig/python")
-from zypp import CommitCallbacks
+import zypp
class CommitReceiver:
def removal_start(self, resolvable):
class CommitCallbacksTestCase(unittest.TestCase):
def testRemoveCallback(self):
- commit_callbacks = CommitCallbacks()
+ Z = zypp.ZYppFactory_instance().getZYpp()
+ Z.initializeTarget( zypp.Pathname("/") )
+ Z.target().load();
+
+ commit_callbacks_emitter = zypp.CommitCallbacksEmitter()
+ commit_callbacks = zypp.CommitCallbacks()
# print "commit_callbacks " , commit_callbacks
assert None == commit_callbacks.receiver()
# print "callbacks receiver is NULL - good"
# print "connected to ", commit_receiver
assert commit_receiver == commit_callbacks.receiver()
# print "callbacks receiver is set - good"
+
+ for item in Z.pool():
+ print "Emitting removal of ", item.resolvable()
+ commit_callbacks_emitter.remove_start(item.resolvable())
+ break
+
commit_callbacks.disconnect()
# print "disconnected"
assert None == commit_callbacks.receiver()