tree 1e0eb73c6d2205ee19ab74c21e765f4f8ddd40a9
parent 4d3404e37b483724a70ff34792ce967a4b133b39
author yunhanw <yunhanw@google.com> 1589783277 -0700
committer yunhanw <yunhanw@google.com> 1589783287 -0700

Fix null version case for VersionList::Parser::GetVersion

-- There exists VersionList::Builder::AddNull API which has been used
for null version set when trait version cannot be obtained in server
side in some situations, for example, trait access denied or profile id
or instance id is not correct and so on. In correspondence, we need to
do the null version correctly in VersionList::Parser::GetVersion(current
implementation does not check this null version case), and set apVersion
as 0 which means invalid version, and return WEAVE_NO_ERROR, otherwises,
SubscriptionClient would fails to process OnUpdateResponse and go to exit when
triggering versionList.GetVersion in L2572, and futher set the internal
error for all paths in current flush operation even though other paths
have been updated correctly.

-- Add test case to validate this case.
