CN107480064A - 一种电子充值系统的虚拟充值测试系统及方法 - Google Patents

一种电子充值系统的虚拟充值测试系统及方法 Download PDF

Info

Publication number
CN107480064A
CN107480064A CN201710683801.6A CN201710683801A CN107480064A CN 107480064 A CN107480064 A CN 107480064A CN 201710683801 A CN201710683801 A CN 201710683801A CN 107480064 A CN107480064 A CN 107480064A
Authority
CN
China
Prior art keywords
payment
module
test
test cases
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201710683801.6A
Other languages
English (en)
Inventor
徐飞
孙亚文
巫育裕
熊文娟
蔡其锋
廖泉辉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhuhai Xishan Mobile Game Technology Co Ltd
Zhuhai Kingsoft Online Game Technology Co Ltd
Original Assignee
Zhuhai Xishan Mobile Game Technology Co Ltd
Zhuhai Kingsoft Online Game Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhuhai Xishan Mobile Game Technology Co Ltd, Zhuhai Kingsoft Online Game Technology Co Ltd filed Critical Zhuhai Xishan Mobile Game Technology Co Ltd
Priority to CN201710683801.6A priority Critical patent/CN107480064A/zh
Publication of CN107480064A publication Critical patent/CN107480064A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/04Payment circuits
    • G06Q20/06Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
    • G06Q20/065Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/085Payment architectures involving remote charge determination or related payment systems
    • G06Q20/0855Payment architectures involving remote charge determination or related payment systems involving a third party

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

本发明包括一种电子充值系统的虚拟充值测试系统及方法,其特征在于,用于实现:模拟第三方支付的支付平台并提供基础网络通信服务;对证书进行加密、解密及发送;模拟多个不同第三方支付平台的支付行为及支付功能;编辑并生成测试案例,并控制测试案例所使用的对应模块进行测试;提供交互界面用于对测试案例进行查看、编辑及维护;对支付结果进行编码,并生成测试的最终回复效果进行回送。本发明的有益效果为:解决了各平台之间网络配置各不相同,通信协议和支付方式各异的问题;对待测试的交易系统完全透明,交易系统本身不需要做任何配置修改,真实还原实际工作场景;节省了测试成本;提高了效率,同步进行了记录存储,方便进行历史追述。

Description

一种电子充值系统的虚拟充值测试系统及方法
技术领域
本发明涉及一种电子充值系统的虚拟充值测试系统及方法,属于计算机网络支付领域。
背景技术
随着网络游戏,电子商务等网络交易业务的日趋增长;雨后春笋搬的诞生并快速发展了多种除了传统银行以外的第三方支付平台,并为网上交易提供了更多的选择和便利;但随着多种第三方支付平台的发展,对电子交易系统的接入和系统测试,提出了更多,更复杂的需求。
多方第三方支付平台之间的通信接口并不统一,通信协议也是千差万变;电子交易系统在接入后对每个第三方支付平台的支付业务都需要独立的测试;而且由第三方支付平台提供的测试接口往往并不稳定,或和正式线上业务系统的功能行为并不一致;尤其是在接口发生变化或升级以后,测试端口往往不能及时的和最新版本相同步;所以导致电子交易系统在测试的时候往往需要对接正式的支付端口,也就是需要实际的支付货币来完成对交易系统的功能测试;如此大量重复测试的时候,既耗费大量的人力资源,同时也需要消耗不菲的实际支付成本。
发明内容
针对现有技术的不足,本发明的技术方案提供了一种电子充值系统的虚拟充值测试系统及方法。
本发明的技术方案包括一种电子充值系统的虚拟充值测试系统,其特征在于,该系统包括:通信服务模块,与待测试交易系统连接,用于模拟第三方支付的支付平台并提供基础网络通信服务;证书认证模块,用于根据请求数据获取并匹配支付平台对应的证书,进一步,对证书进行加密和解密,并将已解密和已加密证书进行发送;支付处理模块,用于模拟多个不同第三方支付平台的支付行为及支付功能,包括获取多个第三方支付平台的功能文档,并实现对文档功能的多个功能的模拟;策略配置模块,用于提供编辑界面编辑并生成测试案例,并控制测试案例所使用的对应模块进行测试,以及,将测试案例进行发送;数据存储模块,用于根据所述策略配置模块发送的指令,接收并存储策略配置模块发送的测试案例,并提供交互界面用于对测试案例进行查看、编辑及维护;协议模拟模块,用于根据所述策略配置模块下发指令对支付结果进行编码,并生成测试的最终回复效果。
根据所述的电子充值系统的虚拟充值测试系统,其中通信服务模块还包括:提供基础网络通信服务及建立网络通信入口和链接,用于完成用户与测试系统的数据交互,以及替换并模拟第三方支付平台,进一步,与待测试交易系统连接,其中通信服务模块的数据交互对待测试交易系统透明。
根据所述的电子充值系统的虚拟充值测试系统,其中证书认证模块用于执行以下步骤:对通信服务模块发送支付请求数据进行识别,加载与支付请求数据对应的第三方支付平台证书并进行解密,完成对支付数据的解析,并将解析得到的明文支付请求发送至支付处理模块;接收所述协议模拟模块发送的返回结果,并采用对应的第三方支付平台证书进行加密,并将加密的返回结果发送至通信服务模块。
根据所述的电子充值系统的虚拟充值测试系统,其中支付处理模块用于执行以下步骤:根据所述证书认证模块发送及所述测试策略模块预设的测试案例完成支付数据请求,包括根据策略配置模块预设的支付处理逻辑完成支付处理,发送处理请求数据及处理结果数据至数据存储模块进行持久化存储,以及,发送处理结果至接口协议模块。
根据所述的电子充值系统的虚拟充值测试系统,其中协议模拟模块用于执行以下步骤:根据所述策略配置模块预设通信协议对支付处理结果数据进行对应编码,生成回复结果至待测试交易系统。
根据所述的电子充值系统的虚拟充值测试系统,其中策略配置模块用于执行以下步骤:对测试案例的编辑,包括提供交互界面对测试案例进行自定义编辑,其中的测试案例包括支付数据处理的逻辑以及支付处理结果数据的格式生成;对测试案例的加载,包括控制所述支付处理模块加载测试案例中的支付数据处理逻辑进行对应的业务逻辑,以及控制所述协议模拟模块加载测试案例中对应的格式生成数据对回复结果进行生成。
本发明的技术方案还包括一种电子充值系统的虚拟充值测试方法,其特征在于,该方法包括:模拟第三方支付的支付平台并提供基础网络通信服务;根据请求数据获取并匹配支付平台对应的证书,进一步,对证书进行加密和解密,并将已解密和已加密证书进行发送;模拟多个不同第三方支付平台的支付行为及支付功能,包括获取多个第三方支付平台的功能文档,并实现对文档功能的多个功能的模拟;提供编辑界面编辑并生成测试案例,并控制测试案例所使用的对应模块进行测试,以及,将测试案例进行发送;根据策略配置模块发送的指令,接收并存储策略配置模块发送的测试案例,并提供交互界面用于对测试案例进行查看、编辑及维护;根据所述策略配置模块下发指令对支付结果进行编码,并生成测试的最终回复效果。
本发明的有益效果为:
(1)解决了各平台之间网络配置各不相同,通信协议和支付方式各异的问题;
(2)对待测试的交易系统完全透明,交易系统本身不需要做任何配置修改,真实还原实际工作场景;
(3)本发明使原来的在测试交易系统时,走第三方支付的外循环转换成走模拟系统的内循环,其具有多种有益效果包括不需要实际支付货币完成支付了,极大的节省了测试成本;可以对内循环的支付过程按不同的测试需求加以配置,调控对测试支付过程可以自动化操作完成,极大的提高了效率,同步进行了记录存储,方便进行历史追述。
附图说明
图1所示为电子交易系统业务流程框图;
图2所示为根据本发明实施方式的系统模块框图;
图3所示为根据本发明实施方式的整体时序图;
图4所示为根据本发明实施方式的网络实施拓扑图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。本发明的电子充值系统的虚拟充值测试系统及方法适用于第三方支付的自动化测试。
图1所示为电子交易系统业务流程框图。如图1所示是一个典型的充值系统的业务场景,当用户发起充值业务后,充值系统做出响应,创建订单,并引导用户进入支付环节;此时用户需要暂时离开充值系统,进入第三方支付渠道,通常是一个Web页面或者使用手机APP扫码等,完成支付操作;然后再回到交易系统完成订单,获得购买物品;在原本的业务流程中,一旦进入第三方支付系统,其操作受多种因素影响变为不可控环节;在此情况下,自动化测试操作基本变的不可能完成或者没有可维护性。
本发明将改变原有的不可控路径,使用一套可控的模拟第三方支付测试环境,原位等价的替换原来的支付操作环节。
图2所示为根据本发明实施方式的系统模块框图。其包括所述的通信服务模块,用于提供基础的网络通信服务,建立网络通信入口和链接,是整个模拟系统的基础模块;它原位替换模拟真正的支付平台,直接对接待测试的交易系统,对交易系统完全透明,交易系统不需要做任何配置改动;
证书认证模块,用于使用证书对数据进行解密和机密,因本发明可以模拟多家第三方支付平台,所以本模块新增一个重要的功能是能够自动识别数据签名认证,自动选择匹配的证书进行加解密;
支付处理模拟模块,用于对支付业务的核心处理,模拟第三方电子支付平台的支付行为和功能,提供平台功能文档中定义的各项功能模拟;并且可以接受测试策略模块的控制,执行不同的业务逻辑;
测试策略配置模块,用于加载测试案例,按测试案例配置,对“支付业务模块”,“存储模块”和“协议模块”施加控制;
数据存储模块,对“支付业务模块”和“测试策略配置”模块所涉及的数据进行持久化存储,可以将数据和测试逻辑隔离,以方便使用外围工具进行查看、编辑和维护;
协议模拟模块,用于对支付行为的结果,按通信协议进行编码,生成最终的回复结果反馈给待测试交易系统;同时本模块可以接受“策略”配置,按需动态编码规则,并且支持同步生成多格式数据,以方便测试结果的分析。
图3所示为根据本发明实施方式的整体时序图。其流程如下所示:
网络通信服务模块,作为通信基础模块,接受交易系统的HTTPS请求,打开数据通信接口,建立通信链路;并将接收到的数据交给下一模块处理;
证书认证模块,接收到请求数据后,自动识别匹配的证书,因为这里要模拟多个第三方支付渠道,所以要选取对应的渠道证书;有了正确的证书,请求数据就可以使用证书进行加解密;数据解密后,支付请求继续发往支付处理模块;
支付处理模块,模拟了第三方支付平台的核心功能,并且可以自定义支付处理逻辑;该模块先向测试策略模块请求一个处理逻辑,例如,订单尾号是1的支付请求,按支付成功正常返回;订单尾号是2的订单请求,则返回支付失败等等;同时将收到的订单请求和处理结果的相关数据,提交到数据存储模块,持久化保存;并将处理结果下发给接口协议模块;
协议模拟模块,按第三方接口协议规范制作;对处理结果按协议进行编码,且支持多种编码,既可以生用于返回的协议编码,也可以生成模拟环境的日志信息;最终编码后的支付结果被提交返回;
返回的数据包经过证书模块解密,由通信服务模块发还给交易系统;
如此完成一个订单支付循环的全部操作;
在这个循环中,所有操作可控,可按测试用例定制,可自动化完成,并有完善的数据记录;
既能自动完成支付操作的模拟,有能极大的提高工作效率,同时免除了实际支付的成本,且留有详实的数据日志等过程记录信息。
图4所示为根据本发明实施方式的网络实施拓扑图。网页代理切换开关后,所有的支付请求被转发到模拟测试系统,进入一个可控封闭的测试空间,在此空间内完成对支付业务的自动模拟,并按原路径反馈给待测试交易系统,完成订单交易测试。
以上所述,只是本发明的较佳实施例而已,本发明并不局限于上述实施方式,只要其以相同的手段达到本发明的技术效果,都应属于本发明的保护范围。在本发明的保护范围内其技术方案和/或实施方式可以有各种不同的修改和变化。

Claims (7)

1.一种电子充值系统的虚拟充值测试系统,其特征在于,该系统包括:
通信服务模块,与待测试交易系统连接,用于模拟第三方支付的支付平台并提供基础网络通信服务;
证书认证模块,用于根据请求数据获取并匹配支付平台对应的证书,进一步,对证书进行加密和解密,并将已解密和已加密证书进行发送;
支付处理模块,用于模拟多个不同第三方支付平台的支付行为及支付功能,包括获取多个第三方支付平台的功能文档,并实现对文档功能的多个功能的模拟;
策略配置模块,用于提供编辑界面编辑并生成测试案例,并控制测试案例所使用的对应模块进行测试,以及,将测试案例进行发送;
数据存储模块,用于根据所述策略配置模块发送的指令,接收并存储策略配置模块发送的测试案例,并提供交互界面用于对测试案例进行查看、编辑及维护;
协议模拟模块,用于根据所述策略配置模块下发指令对支付结果进行编码,并生成测试的最终回复效果。
2.根据权利要求1所述的电子充值系统的虚拟充值测试系统,其特征在于,所述的通信服务模块还包括:
提供基础网络通信服务及建立网络通信入口和链接,用于完成用户与测试系统的数据交互,以及替换并模拟第三方支付平台,进一步,与待测试交易系统连接,其中通信服务模块的数据交互对待测试交易系统透明。
3.根据利要求1所述的电子充值系统的虚拟充值测试系统,其特征在于,所述的证书认证模块用于执行以下步骤:
对通信服务模块发送支付请求数据进行识别,加载与支付请求数据对应的第三方支付平台证书并进行解密,完成对支付数据的解析,并将解析得到的明文支付请求发送至支付处理模块;
接收所述协议模拟模块发送的返回结果,并采用对应的第三方支付平台证书进行加密,并将加密的返回结果发送至通信服务模块。
4.根据利要求1所述的电子充值系统的虚拟充值测试系统,其特征在于,所述的支付处理模块用于执行以下步骤:
根据所述证书认证模块发送及所述测试策略模块预设的测试案例完成支付数据请求,包括根据策略配置模块预设的支付处理逻辑完成支付处理,发送处理请求数据及处理结果数据至数据存储模块进行持久化存储,以及,发送处理结果至接口协议模块。
5.根据利要求1所述的电子充值系统的虚拟充值测试系统,其特征在于,所述的协议模拟模块用于执行以下步骤:
根据所述策略配置模块预设通信协议对支付处理结果数据进行对应编码,生成回复结果至待测试交易系统。
6.根据利要求1所述的电子充值系统的虚拟充值测试系统,其特征在于,所述的策略配置模块用于执行以下步骤:
对测试案例的编辑,包括提供交互界面对测试案例进行自定义编辑,其中的测试案例包括支付数据处理的逻辑以及支付处理结果数据的格式生成;
对测试案例的加载,包括控制所述支付处理模块加载测试案例中的支付数据处理逻辑进行对应的业务逻辑,以及控制所述协议模拟模块加载测试案例中对应的格式生成数据对回复结果进行生成。
7.一种电子充值系统的虚拟充值测试方法,其特征在于,该方法包括:
模拟第三方支付的支付平台并提供基础网络通信服务;
根据请求数据获取并匹配支付平台对应的证书,进一步,对证书进行加密和解密,并将已解密和已加密证书进行发送;
模拟多个不同第三方支付平台的支付行为及支付功能,包括获取多个第三方支付平台的功能文档,并实现对文档功能的多个功能的模拟;
提供编辑界面编辑并生成测试案例,并控制测试案例所使用的对应模块进行测试,以及,将测试案例进行发送;
根据策略配置模块发送的指令,接收并存储策略配置模块发送的测试案例,并提供交互界面用于对测试案例进行查看、编辑及维护;
根据所述策略配置模块下发指令对支付结果进行编码,并生成测试的最终回复效果。
CN201710683801.6A 2017-08-11 2017-08-11 一种电子充值系统的虚拟充值测试系统及方法 Pending CN107480064A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710683801.6A CN107480064A (zh) 2017-08-11 2017-08-11 一种电子充值系统的虚拟充值测试系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710683801.6A CN107480064A (zh) 2017-08-11 2017-08-11 一种电子充值系统的虚拟充值测试系统及方法

Publications (1)

Publication Number Publication Date
CN107480064A true CN107480064A (zh) 2017-12-15

Family

ID=60599315

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710683801.6A Pending CN107480064A (zh) 2017-08-11 2017-08-11 一种电子充值系统的虚拟充值测试系统及方法

Country Status (1)

Country Link
CN (1) CN107480064A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108197914A (zh) * 2017-12-29 2018-06-22 珠海市君天电子科技有限公司 一种信息获取方法、装置及服务器
CN109828924A (zh) * 2019-01-25 2019-05-31 网联清算有限公司 测试方法、装置和计算设备及介质
CN110533827A (zh) * 2018-05-25 2019-12-03 山东新北洋信息技术股份有限公司 一种自动售货机的支付参数配置的测试方法及装置
CN110866814A (zh) * 2019-10-11 2020-03-06 上海瀚银信息技术有限公司 一种支付渠道管理系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120193411A1 (en) * 2011-01-31 2012-08-02 Metrologic Instruments, Inc. Pre-paid usage system for encoded information reading terminals
CN104038605A (zh) * 2014-06-04 2014-09-10 福建升腾资讯有限公司 电话pos支付终端交易测试的方法
CN105427101A (zh) * 2015-11-19 2016-03-23 成都连银信息技术有限公司 支持多种支付通道的统一支付接入网关
CN106021091A (zh) * 2016-05-04 2016-10-12 上海携程商务有限公司 网络银行模拟系统及方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120193411A1 (en) * 2011-01-31 2012-08-02 Metrologic Instruments, Inc. Pre-paid usage system for encoded information reading terminals
CN104038605A (zh) * 2014-06-04 2014-09-10 福建升腾资讯有限公司 电话pos支付终端交易测试的方法
CN105427101A (zh) * 2015-11-19 2016-03-23 成都连银信息技术有限公司 支持多种支付通道的统一支付接入网关
CN106021091A (zh) * 2016-05-04 2016-10-12 上海携程商务有限公司 网络银行模拟系统及方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108197914A (zh) * 2017-12-29 2018-06-22 珠海市君天电子科技有限公司 一种信息获取方法、装置及服务器
CN108197914B (zh) * 2017-12-29 2021-12-17 珠海市君天电子科技有限公司 一种信息获取方法、装置及服务器
CN110533827A (zh) * 2018-05-25 2019-12-03 山东新北洋信息技术股份有限公司 一种自动售货机的支付参数配置的测试方法及装置
CN109828924A (zh) * 2019-01-25 2019-05-31 网联清算有限公司 测试方法、装置和计算设备及介质
CN110866814A (zh) * 2019-10-11 2020-03-06 上海瀚银信息技术有限公司 一种支付渠道管理系统

Similar Documents

Publication Publication Date Title
CN107480064A (zh) 一种电子充值系统的虚拟充值测试系统及方法
CN105472546B (zh) 近场通信方法及移动终端
CN108769229A (zh) 信息定制发送方法、装置、计算机设备及存储介质
CN108062221B (zh) 软件开发工具包的处理方法、装置、存储介质及处理器
CN107578243A (zh) 基于区块链技术的电力交易方法及装置
CN104428822B (zh) 非接触支付方法、设备和系统
CN104038605A (zh) 电话pos支付终端交易测试的方法
CN102496112B (zh) 基于智能sd卡的三屏支付系统及实现方法
CN104504567B (zh) 一种小额支付卡的充值方法及装置
CN106327196A (zh) 一种支付阈值获取方法和装置
CN105376203B (zh) 交互信息的处理方法、装置及系统
CN110337076A (zh) 短信平台接口测试方法、装置、计算机设备及存储介质
CN107392591A (zh) 行业卡的在线充值方法、系统及蓝牙读写装置
CN107948970A (zh) 附属终端的实名制入网方法、系统及移动终端
CN110413528A (zh) 测试环境智能配置方法及系统
CN107577622A (zh) 后端接口模拟方法、设备及存储介质
CN104732433A (zh) 一种显示交易信息的方法及装置
CN110087241A (zh) 业务授权方法、设备及系统
CN111724146A (zh) 一种基于区块链的数字资产流转的方法及装置
CN109801053A (zh) 一种统一绑定银行卡的系统及方法
CN107741906A (zh) 货币基金系统自动化测试方法、装置、设备及存储介质
US20190196935A1 (en) Computer-implemented methods, computer-readable media and electronic devices for processing test electronic transactions
CN111381863B (zh) 基于区块链技术的app交易及自动化上线方法及上线系统
CN108769059A (zh) 校验方法、装置、介质和计算设备
CN106682899A (zh) 一种通过手机确认网上交易安全的方法及其系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20171215

RJ01 Rejection of invention patent application after publication